-
Как при помощи ADO добавить новую запись в таблицу? Интересен момент с индексом строки.. просмотрев в самом Accesse файл mdb, увидел там что поле "Код", грубо говоря идентификатор строки, ставится последовательно.. Сделав в Delphi следующее: var
MyRecSet: _Recordset;
MyRecSet.MoveLast;
MyRecSet.AddNew(0, 0);
MyRecSet.Fields.Item[1].Value := 'efcwef1'; MyRecSet.Fields.Item[2].Value := '20.12.1990'; MyRecSet.Update(0, 0); строка Код не забивается автоматически по порядку.. вот кто как с этим боролся? И еще.. Правильно ли что я переношу курсов в конец функцией MoveLast перед записью? И правильно что в функциях AddNew и Update в их параметрах я задал нули?
-
> строка Код не забивается автоматически по порядку.. вот кто как с этим боролся? С этим борются те, кто думает, что строки таблицы хранятся в определенном порядке.
> Правильно ли что я переношу курсов в конец функцией MoveLast перед записью?
Неправильно
> И правильно что в функциях AddNew и Update в их параметрах > я задал нули?
Ну если с нулями работает, то правильно. Вообще-то я бы попытался ничего не задавать. В конце концов, есть специальное значение Unassigned для этих целей.
-
Подскажите еще вот в чем, делаю sql команды.. так вот, текст sql запроса слишком длинный, и если сделать так: DBCommand.CommandText := 'sql запрос';
DBCommand.Execute(RecsAffected, NULL, 0);
RecsAffected := NULL; то программа не компилируется, т.к. DBCommand.CommandText имеет тип WideString, а строка sql запроса длиннее.. что можно сделать? Подскажите.. И еще вопросик про sql запросы в delphi.. в одну строку если их писать, то потом не очень удобно читать его.. а если сделать перенос строк, то delphi не распознает следующую строку как продолжение текущей строки запроса.. что можно тоже сделать?
-
> Dmitry_177 (04.05.2008 18:00:02) [2]
Теперь тоже самое по русски и с примерами неверного кода.
-
> Dmitry_177 (04.05.08 18:00) [2] > Подскажите еще вот в чем, делаю sql команды.. так вот, текст > sql запроса слишком длинный, и если сделать так: > > DBCommand.CommandText := 'sql запрос'; > DBCommand.Execute(RecsAffected, NULL, 0); > RecsAffected := NULL; > > то программа не компилируется, т.к. DBCommand.CommandText > имеет тип WideString, а строка sql запроса длиннее.. что > можно сделать? Подскажите..
Ужасть, пора хоть что-то по основам прочитать...
DBCommand.CommandText := 'sql запрос stroka1' +
'stroka 2' +
....
'stroka 125mil'enow 21';
|