Главная страница
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.036 c
1-1105691362
vvv_spb
2005-01-14 11:29
2005.01.30
key=#9


14-1105304252
Fin
2005-01-09 23:57
2005.01.30
Снежный человек!


14-1105492871
aus
2005-01-12 04:21
2005.01.30
Антивирус


14-1105358106
snake_r
2005-01-10 14:55
2005.01.30
RX для D7


14-1105444309
Leka
2005-01-11 14:51
2005.01.30
Потеря стандартных программ