• Dmitry_177 (04.05.08 12:13) [0]
    Как при помощи 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 в их параметрах я задал нули?
  • palva © (04.05.08 14:30) [1]
    > строка Код не забивается автоматически по порядку.. вот кто как с этим боролся?
    С этим борются те, кто думает, что строки таблицы хранятся в определенном порядке.

    > Правильно ли что я переношу курсов в конец функцией MoveLast перед записью?

    Неправильно

    > И правильно что в функциях AddNew и Update в их параметрах
    > я задал нули?

    Ну если с нулями работает, то правильно. Вообще-то я бы попытался ничего не задавать. В конце концов, есть специальное значение Unassigned для этих целей.
  • Dmitry_177 (04.05.08 18:00) [2]
    Подскажите еще вот в чем, делаю sql команды.. так вот, текст sql запроса слишком длинный, и если сделать так:

    DBCommand.CommandText := 'sql запрос';
    DBCommand.Execute(RecsAffected, NULL, 0);
    RecsAffected := NULL;



    то программа не компилируется, т.к. DBCommand.CommandText имеет тип WideString, а строка sql запроса длиннее.. что можно сделать? Подскажите..

    И еще вопросик про sql запросы в delphi.. в одну строку если их писать, то потом не очень удобно читать его.. а если сделать перенос строк, то delphi не распознает следующую строку как продолжение текущей строки запроса.. что можно тоже сделать?
  • Anatoly Podgoretsky © (04.05.08 18:31) [3]
    > Dmitry_177  (04.05.2008 18:00:02)  [2]

    Теперь тоже самое по русски и с примерами неверного кода.
  • Плохиш © (04.05.08 21:32) [4]

    > 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';

Есть новые Нет новых   [134433   +23][b:0][p:0.001]