Главная страница
    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.04 c
14-1105357402
stone
2005-01-10 14:43
2005.01.30
Материнская плата с Socket 370


1-1105752579
nsvi
2005-01-15 04:29
2005.01.30
Есть ли аналог TPagecontrol с возможностью отключения заголовков


1-1105614393
вратарь
2005-01-13 14:06
2005.01.30
криптография


1-1106080320
Drow
2005-01-18 23:32
2005.01.30
Help!


3-1104254172
Чеширский_Кот
2004-12-28 20:16
2005.01.30
MySQL Database





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский