Текущий архив: 2003.02.06;
Скачать: CL | DM;
ВнизНеработает ADOTable.InsertRecord( Найти похожие ветки
← →
PONTIY (2003-01-21 13:23) [0]Вставляю новую запись в пустую таблицу приведенным в теме методом, компилятор сильно ругается будто я пытаюсь добавить NULL в поле которое этого не позволяет (на самом деле это не так). А вот если в эту же таблицу первую запись добавить ручками, то этот же метод благополучно отрабатывает как положено вставляя в таблицу последующие записи. Я что-то не так делаю?
← →
Johnmen (2003-01-21 13:44) [1]Подробное описание обоих методов ?
← →
sniknik (2003-01-21 13:48) [2]попробуй следующий код
ADOCommand.CommandText:=
"CREATE TABLE TableTest (Field1 CHAR(20)) "+
"INSERT INTO TableTest (Field1) VALUES ("First field")";
ADOCommand.Execute;
получится без ошибок (должно 1 раз, после ошибка таблица уже есть) то меняй методы, и не лезь к SQL серверу с локально/табличными подходами.
← →
sniknik (2003-01-21 13:50) [3]сорри недоглядел скобки, надо так
ADOCommand.CommandText:=
"CREATE TABLE TableTest (Field1 CHAR(20)) "+
"INSERT INTO TableTest (Field1) VALUES (""First field"")";
ADOCommand.Execute;
""<>"
← →
PONTIY (2003-01-21 13:51) [4]Я же про один метод пишу: InsertRecord. Bменно он у меня невставляет как положено запись в пустую таблицу, но замечательно это делает на таблице в которой есть хотя бы одна запись.
← →
Johnmen (2003-01-21 13:55) [5]Так будут подробности (код) или нет ?
← →
sniknik (2003-01-21 14:00) [6]1 проверил код? работает?
2 запусти Prifiler и посмотри какой командой первая запись из ADOTable.InsertRecord вставляется.
3 сравни.
← →
PONTIY (2003-01-21 14:13) [7]to Johnmen
код простой:
ADOTable2.InsertRecord(["Value1", "Value2", "Value3", ...]);
← →
PONTIY (2003-01-21 14:51) [8]Если писать SQL запросы, то конечно же работает. Но я хотел бы обойтись TADOTable
← →
Anatoly Podgoretsky (2003-01-21 14:55) [9]Признайся, насчет компилятора, ты конечно приврал, так как иначе невозможно было бы останое.
← →
PONTIY (2003-01-21 15:07) [10]Не компилятор конечно, просто к слову пришлось, так как это все происходит в режиме компиляции.
← →
sniknik (2003-01-21 15:27) [11]а насчет Prifiler-а ? посмотреть результирующий запрос от TADOTable?.
PONTIY © (21.01.03 14:51)
> Но я хотел бы обойтись TADOTable
я бы наоборот советовал при работе с SQL сервером обходитсябез
TADOTable и даже без TADOQuery, а обходится TADODataSet и TADOCommand ну и (куда без него) TADOConnection. Но конечно как желаете.
← →
BlackTiger (2003-01-21 21:05) [12]Если бы ты посмотрел на описание InsertRecord, то заметил бы, что он принимает массив из TVarRec. А как с этой байдой общаться - фиг его знает.
Либо делай, как сказали, либо
ADOTable1.Insert;
for i := 0 to ADOTable1.FieldCount - 1 do
ADOTABLE.Field[i].AsString = MyValues[i]
ADOTable.Post;
← →
PONTIY (2003-01-22 06:15) [13]
Если бы ты посмотрел на описание InsertRecord, то заметил бы, что он принимает массив из TVarRec. А как с этой байдой общаться - фиг его знает.
Либо делай, как сказали, либо
ADOTable1.Insert;
for i := 0 to ADOTable1.FieldCount - 1 do
ADOTABLE.Field[i].AsString = MyValues[i]
ADOTable.Post;
"Либо" не пройдет, исключение возбуждается при выполнении строкиADOTable1.Insert;
← →
PONTIY (2003-01-22 06:16) [14]sniknik © (21.01.03 15:27)
>а насчет Prifiler-а ? посмотреть результирующий запрос от TADOTable?.
Если ты мне поподробней расскажешь про Prifiler
← →
sniknik (2003-01-22 08:27) [15]то что?
нечего о нем расказывать, запустил открыл new->trace, все, смотриш какими командами идет общение.
тут то у некоторых глаза и открываются, что на самом деле ADOTable это не то что в BDE таблица, а все переводится в команды SQL, по другому и не может он же SQL сервер.
вот тут и смотри чем первый Insert от последующих отличается, может команда кривая может дополнительно что посылается. короче сравнивай.
(в итоге после недельки работы с Prifiler-ом 98% за то что перейдеш на чистый SQL :-)))
← →
BlackTiger (2003-01-22 11:01) [16]исключение возбуждается при выполнении строки ADOTable1.Insert;
Ну нормально, я всегда пользуюсь - и нормально. Что-то у Вас, батенька, в коде.
А ОШИБКУ-ТО ХОТЬ КАКУЮ ВЫДАЕТ? Текст! Конкретно! Начнем с этого.
← →
PONTIY (2003-01-22 12:22) [17]to sniknik
а где он есть этот Prifiler, что-то не вижу среди делфы?
← →
sniknik (2003-01-22 12:25) [18]это примочка от MSSQL
← →
PONTIY (2003-01-22 12:27) [19]to BlackTiger
>Ну нормально, я всегда пользуюсь - и нормально. Что-то у Вас, батенька, в коде.
а Вы это делаете с пустой таблицей или нет? (см. начало темы)
← →
PONTIY (2003-01-22 12:29) [20]to sniknik
prOfiler оно зовется
← →
sniknik (2003-01-22 12:56) [21]обшибся, опс. путаницу ввел сорри. ну посмотрел есть различия?
← →
PONTIY (2003-01-22 14:25) [22]угу, вроде бы разобрался. спасибо
Страницы: 1 вся ветка
Текущий архив: 2003.02.06;
Скачать: CL | DM;
Память: 0.49 MB
Время: 0.009 c