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

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

ADO+Access2000+@@identity [D5, Access]


Andrey__ ©   (2003-11-20 13:44:00) 

Существует следующая проблема при попытке узнать id(первичный ключ) последней добавленной записи:

ADOQuery.SQL.Add("INSERT INTO Tab1 (V1, V2) VALUES ("V1" , "V2")");
ADOQuery.Prepared := True;
ADOQuery.ExecSQL;
ADOQuery.SQL.Clear;
ADOQuery.SQL.Add("SELECT @@identity as idn");
ADOQuery.Active := true;
ADOQuery.DisableControls;
ShowMessage("New id subekta = "+ADOQuery.FieldByName("idn").AsString);


Данный код программы всегда возращает idn=0


sniknik   (2003-11-21 10:29:00) [1]

> Может быть проблема в том, что id у меня генерирует сам Access через функцию GenUniqueID()
можеш дальше не искать
@@identity возврашает значение последнего автоинкремента (тип поля INT IDENTITY(1,1))


Andrey__   (2003-11-21 10:16:00) [2]

Если подразумевается ADOQuery.Connection:=ADOConnection, то все нормально. Может быть проблема в том, что id у меня генерирует сам Access через функцию GenUniqueID() или в настройках ADOConnection. Если последнее, то какой из параметров может быть неправильным, так как все остальное работает.


sniknik   (2003-11-20 13:49:00) [3]

скорее всего у вас в ADOQuery нет подключения на ADOConnection (самоя простоя причина), а задана строка подключения.


Наверх

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