Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2003.02.06;
Скачать: [xml.tar.bz2];

Вниз

Неработает 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.49 MB
Время: 0.011 c
14-15881
Kudatsky
2003-01-20 10:49
2003.02.06
Нужен сервер, работающий с DBF-файлами


14-15819
_Peacemaker
2003-01-20 16:03
2003.02.06
Ищу доки/мануал по UML


1-15577
Sectey
2003-01-28 17:03
2003.02.06
Не модальная форма со свойствами модальной


3-15497
22606
2003-01-20 18:04
2003.02.06
смена владельца базы IB при backup/restore


14-15904
Lazer2k
2003-01-08 19:31
2003.02.06
F1 ! F1 ! F1 ! Тьфу Help me !!!





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский