Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

ADO + Access


Страницы:   1 2

Dmitry_177 ©   (2008-05-04 12:13:00) 

Как при помощи 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 в их параметрах я задал нули?


sniknik   (2008-05-05 10:36:00) [21]

> А что можно сделать, что sql запрос длиннее WideString?
намного раньше упрешься в ограничение провайдера на длину запроса...

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

> длиннее гигабайта?
а не 2х? вайдстринг 2 гигабайта.
что кстати является и ограничением на обьем базы аксесса... действительно, нифига себе у вас запросы. ;)


Anatoly Podgoretsky   (2008-05-05 10:30:00) [22]


> А что можно сделать, что sql запрос длиннее WideString?

Нельзя, для пользователя отведено только 2 гб виртуальное памяти, да и Дельфи тебе не позволит обойти это ограничение, размер выделяемой памяти как известно задается через Integer, а как известно MaxInt тоже равно 2 гб, так что и ключ /3gb не поможет.
А реально даже разрешеный размер не удастся выделить, он хоть и 2 гб, но на все, все, а не все+все+все


Palladin   (2008-05-05 09:31:00) [23]

длиннее гигабайта?

"ффига'се у вас запросы, сказала база данных и повисла" (С)


Dmitry_177   (2008-05-05 09:29:00) [24]


> Ужасть, пора хоть что-то по основам прочитать...
>
> DBCommand.CommandText := 'sql запрос stroka1' +
> 'stroka 2' +
>  ....
> 'stroka 125mil'enow 21';

Я так и думал.. просто думал может можно как-то еще ))

А что можно сделать, что sql запрос длиннее WideString?


Плохиш   (2008-05-04 21:32:00) [25]


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


Anatoly Podgoretsky   (2008-05-04 18:31:00) [26]

> Dmitry_177  (04.05.2008 18:00:02)  [2]

Теперь тоже самое по русски и с примерами неверного кода.


Dmitry_177   (2008-05-04 18:00:00) [27]

Подскажите еще вот в чем, делаю sql команды.. так вот, текст sql запроса слишком длинный, и если сделать так:

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


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

И еще вопросик про sql запросы в delphi.. в одну строку если их писать, то потом не очень удобно читать его.. а если сделать перенос строк, то delphi не распознает следующую строку как продолжение текущей строки запроса.. что можно тоже сделать?


palva   (2008-05-04 14:30:00) [28]

> строка Код не забивается автоматически по порядку.. вот кто как с этим боролся?
С этим борются те, кто думает, что строки таблицы хранятся в определенном порядке.

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

Неправильно

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

Ну если с нулями работает, то правильно. Вообще-то я бы попытался ничего не задавать. В конце концов, есть специальное значение Unassigned для этих целей.


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо