Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.04.25;
Скачать: CL | DM;

Вниз

ADO и поставщики данных   Найти похожие ветки 

 
Nous Mellon ©   (2004-03-29 11:07) [0]

Доброго времени суток, господа.
Возникла такая проблема:
Есть некая mdb База в которой наличивсвуют несколько таблиц.
Заполняются они в run-time ( используется компонент ADOTable )
В одной из-них четыре поля: три целочисленных и последнее действительное.
Я делал Insert записи, заполнял данные поля и в конце делал Table.post;
В качестве поставщика данных для объекта Connection использовался Jet.
При выполнении Post вылетает ошибка несоответсвия типов данных.
Причем если закомментировать заполнение действительного поля то все нормально.
Если открыть БД в Аксесс то видно что в качестве разделителя целой части в Бд используется  ",", а в Делфи ".". Может быть в этом проблема? Но если сменит Jet на стандартный MSDASQL то все почему-то работает.
Может быть вы подскажете с чем связана эта ошибка и пути ее возможного разрешения без смены Jet.


 
sniknik ©   (2004-03-29 11:24) [1]

> Может быть вы подскажете с чем связана эта ошибка и пути ее возможного разрешения без смены Jet.
вот с этим
> Я делал Insert записи, заполнял данные поля и в конце делал Table.post;
, заполнять по другому.


 
Nous Mellon ©   (2004-03-29 14:24) [2]


> , заполнять по другому.

как правильно заполнять используя Jet?
Если можно небольшой пример


 
Cobalt ©   (2004-03-29 14:28) [3]

а как вы заполняли?
Примерчик, пожалуйста.


 
Nous Mellon ©   (2004-03-29 14:41) [4]


> а как вы заполняли?

если вы ко мне то пожалуйста
MyTableMyFloatField.Value := MyFloatVar;
MyTable.Post;
Идентификаторы конечно были не такие но смысл тот.


 
Nous Mellon ©   (2004-03-29 14:42) [5]

Сорри забыл первую строку
MyTable.Insert;


 
Cobalt ©   (2004-03-29 14:59) [6]

2 Nous Mellon ©
рекомендую делать так:
MyTable.FieldByName("Name").AsFloat:=MyFloatVar;


 
Nous Mellon ©   (2004-03-29 15:03) [7]


> рекомендую делать так:
> MyTable.FieldByName("Name").AsFloat:=MyFloatVar;

Спасибо, попробую может спасет :)


 
Nous Mellon ©   (2004-03-29 15:08) [8]

нет, к сожалению результат тот же...
Может еще какие-нибудь предложения?


 
sniknik ©   (2004-03-29 15:23) [9]

var MyFloatVar: double; ?


 
Nous Mellon ©   (2004-03-29 15:32) [10]


> var MyFloatVar: double; ?

Сейчас попробовал и Double и Real - результат тот эе...
А вообще был Real


 
sniknik ©   (2004-03-29 15:36) [11]

тогда значит поле в таьлице всетаки не того типа, либо ты всетаки делал не так как тебе говорили.
не
MyTable.FieldByName("FloatName").AsFloat:=MyFloatVar;
к примеру, а
MyTableMyFloatField.AsFloat:= MyFloatVar;


 
Nous Mellon ©   (2004-03-29 15:48) [12]

Кажется я разрешил проблему заменой типа данных самого поля.
Он был "Действительное" и я не знал какой в Делфи точно ему эквивалент(думал что Реал),я поменял на "Двойное", а переменную поставил Double и вроже бы заработало. Спасибо всем, в частности sniknik, который уже в
н-ный раз меня выручает.



Страницы: 1 вся ветка

Текущий архив: 2004.04.25;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.031 c
1-1081407631
Tack83
2004-04-08 11:00
2004.04.25
"Подталкивание" формы при масштабировании.


1-1081511947
Артем
2004-04-09 15:59
2004.04.25
Webbrowser


7-1078221472
saNat
2004-03-02 12:57
2004.04.25
Свой аплет на панели управления


8-1073681437
Ракал
2004-01-09 23:50
2004.04.25
Как работать с Direct Sound?


3-1080447814
Артем К.
2004-03-28 08:23
2004.04.25
Как сохранить в таблицу DB значение вычисляемого поля