![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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 (самоя простоя причина), а задана строка подключения.