Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2005.01.30;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.038 c
3-1104135615
come
2004-12-27 11:20
2005.01.30
тукущая запись в dbgrid


1-1105957994
glGLU
2005-01-17 13:33
2005.01.30
MessageDlg


1-1106046599
Ser_max
2005-01-18 14:09
2005.01.30
свойстваTchart


14-1105693028
Ega23
2005-01-14 11:57
2005.01.30
Что качать?


1-1105781773
user101
2005-01-15 12:36
2005.01.30
Pchar To String





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский