Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.01.30;
Скачать: CL | DM;

Вниз

Автоинкремент   Найти похожие ветки 

 
dvp ©   (2004-12-26 19:57) [0]

Подскажите, как при INSERT"е через ADOCommand узнать сгенерированное значение поле счётчика?

Ну кроме SELECT TOP 1 id FROM table ORDER BY id DESC;


 
aus   (2004-12-26 20:18) [1]

select max(id) from table


 
aus   (2004-12-26 20:19) [2]

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


 
sniknik ©   (2004-12-26 20:40) [3]

select @@IDENTITY as ID


 
aus   (2004-12-26 20:43) [4]

sniknik ©   (26.12.04 20:40) [3]
>Автоинкремент [D7, MS Access]


 
sniknik ©   (2004-12-26 20:51) [5]

aus   (26.12.04 20:43) [4]
ага в курсе. попробуй.


 
aus   (2004-12-26 20:57) [6]

sniknik ©   (26.12.04 20:51) [5]
и впрямь, отстал я от жизни...


 
dvp ©   (2004-12-26 20:57) [7]

Честно говоря не думаю, что Access оперирует понятием "транзакция"
Вот в php+MySQL есть возможность после инсерта вызвать mysql_insert_id($connection), которая вернёт значение последнего сгенерированного счётчика для текущего сеанса. Должно же быть что-то аналогичное в ADO


 
aus   (2004-12-26 21:00) [8]

dvp ©   (26.12.04 20:57) [7]
оперирует, если не Access, то jet - точно...


 
sniknik ©   (2004-12-26 21:14) [9]

> Честно говоря не думаю, что Access оперирует понятием "транзакция"
и тем не менее, оно есть.


- ты суслика видиш?
- нет.
- и я нет, а он тем не менее есть.
© ДМБ


> есть возможность после инсерта вызвать mysql_insert_id($connection)
@@IDENTITY это как раз то самое, только непосредственно от движка, в функцию не завернуто. (исправь "упушение" ;о)))


 
dvp ©   (2004-12-26 21:19) [10]

sniknik ©   (26.12.04 21:14) [9]
Хм.... @@IDENTITY говорите ...... а где его найти?
Т.е. SELECT @@IDENTITY даст тот самый id для текущего коннекта?


 
sniknik ©   (2004-12-26 22:37) [11]

зачем искать, делай следующим запросом после инсерта, уже показанный с ним.

(если нужна именно функция (как описано), то придется свое написать чтото вроде элементарного парсера запроса на onExecuteComplete, и если INSERT присутствует то дополнительный запрос выполнять с последующим изменением своей переменной insert_id, функцией ее возвращать. только это уже будет не от стандартного конекта а от твоего переопределенного и дописанного)



Страницы: 1 вся ветка

Текущий архив: 2005.01.30;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.166 c
14-1105217802
pika
2005-01-08 23:56
2005.01.30
Уходя хотел, спросить !!!


6-1099779926
Knight
2004-11-07 01:25
2005.01.30
Delphi пример пересылки изображения через сеть


14-1105436087
WondeRu
2005-01-11 12:34
2005.01.30
Я Госы на 5 сдал!!!


1-1106068515
Torvald
2005-01-18 20:15
2005.01.30
Деля 2005 не знает классов TServerSocket


3-1104147566
Garry_c
2004-12-27 14:39
2005.01.30
Вставка записей по одному запросу.