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

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

Как узнать ID созданной с помощью SQL записи? [D7, Access]


APXi ©   (2004-11-10 21:24:00) 

Здравствуйте.
База на Access.
Есть таблица (Tov) две колонки (ID(Autoincrement), Name).
В рун тайме создаю TADOCommand заполняю Connection а в CommandText записываю 'Insert into Tov (Name) values (''test'')', запускаю Execute добавляется новая запись, теперь вопрос, как узнать ID вновь созданной записи?

Можно конечно что то типа 'Select Max(ID) from Tov', может есть другое решение?


sniknik   (2004-11-11 23:12:00) [1]

> SELECT @@IDENTITY AS Id
> from Tov
неправильно, нафига повторяющихся значений полный рекордсет по числу записей в таблице? одного хватит, как в [1].

значение ID(автоинкремента) cразу после команды инсерт, сбивается после реконекта (вернее действует в пределах одного конекта)


Johnmen   (2004-11-11 23:07:00) [2]

Между [1] и [2] как минимум 1 различие.
<offtop>
Порой удивляет способность некоторых даже простой copy-past делать с ошибками...:)
</offtop>


APXi   (2004-11-11 22:51:00) [3]

SELECT @@IDENTITY AS Id
from Tov

Выдает 0, хотя есть записи.
Что такое @@IDENTITY ?


sniknik   (2004-11-10 23:05:00) [4]

SELECT @@IDENTITY AS IdValue


Наверх

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