Записать и узнать ID записанного (SQL)

Работа VB и СУБД (Access, MSSQL, MySQL, Oracle и пр.)
Правила форума
При создании новой темы не забывайте указывать используемую СУБД.
E'rsh
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 111
Зарегистрирован: 12.06.2005 (Вс) 13:52
Откуда: Калининград

Записать и узнать ID записанного (SQL)

Сообщение E'rsh » 16.02.2006 (Чт) 1:14

Доброго времени суток!

Проблема такова. Есть табл. со следующими полями ID и Name. ID отсчитывает сам MSAccess. Посылаю записать новую запись в поле Name. А как мне узнать какой ID у новой записи???
Поле Name может повторяться.

Помогите!
Нельзя предугадать действие дураков, поскольку они крайне изобретательны.

Ennor
Конструктивный критик
Конструктивный критик
 
Сообщения: 2504
Зарегистрирован: 18.12.2001 (Вт) 3:58
Откуда: Калуга -> Москва

Сообщение Ennor » 16.02.2006 (Чт) 2:07

Если это обычный счетчик, то хотя бы так:
Код: Выделить всё
select max(id) from MyTable

E'rsh
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 111
Зарегистрирован: 12.06.2005 (Вс) 13:52
Откуда: Калининград

Сообщение E'rsh » 16.02.2006 (Чт) 2:14

Ennor
:?: А если нет?
Нельзя предугадать действие дураков, поскольку они крайне изобретательны.

Ennor
Конструктивный критик
Конструктивный критик
 
Сообщения: 2504
Зарегистрирован: 18.12.2001 (Вт) 3:58
Откуда: Калуга -> Москва

Сообщение Ennor » 16.02.2006 (Чт) 2:21

E'rsh писал(а):Ennor
:?: А если нет?
А как тогда? Аксесс, насколько я его еще не забыл, по-другому не умеет, только автоинкрементом...

E'rsh
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 111
Зарегистрирован: 12.06.2005 (Вс) 13:52
Откуда: Калининград

Сообщение E'rsh » 16.02.2006 (Чт) 2:24

Ennor
Спасиб.!
Будем нумеровать последоват. :)
Нельзя предугадать действие дураков, поскольку они крайне изобретательны.

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 16.02.2006 (Чт) 8:35

Ennor писал(а):Если это обычный счетчик, то хотя бы так:

Счетчики бывают не только последовательно увеличивающиеся, но и рандомные.
Если кодом, то правильнее:
Код: Выделить всё
rs.AddNew
NewID = rs!ID
...
rs.Update
Lasciate ogni speranza, voi ch'entrate.

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 16.02.2006 (Чт) 9:09

alibek писал(а):Счетчики бывают не только последовательно увеличивающиеся, но и рандомные. Если кодом, то правильнее:
Код: Выделить всё
rs.AddNew
NewID = rs!ID
...
rs.Update


Это зависит от типа курсора. Так при клиентском курсоре ID-шку можно считать только после Update. До этого она неизвестна по определению. То есть должно быть:

Код: Выделить всё
rs.AddNew
...
rs.Update
NewID = rs!ID
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

E'rsh
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 111
Зарегистрирован: 12.06.2005 (Вс) 13:52
Откуда: Калининград

Сообщение E'rsh » 16.02.2006 (Чт) 10:45

Простите за тупость... :oops:
:?: Что за "rs", точнее как её получить?
Нельзя предугадать действие дураков, поскольку они крайне изобретательны.

E'rsh
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 111
Зарегистрирован: 12.06.2005 (Вс) 13:52
Откуда: Калининград

Сообщение E'rsh » 16.02.2006 (Чт) 10:47

Я ЛАМЕР!!!! Какой ужас :oops:
Все понял!!! :!:
Нельзя предугадать действие дураков, поскольку они крайне изобретательны.


Вернуться в Базы данных

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2

    TopList  
cron