Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Вот вопросик...


Mikeee ©   (2002-04-05 09:16:00) 

В таблице Tab1 на SQL-сервере есть автоинкрементное поле. Как узнать значение этого поля новой записи до сохранения?


Nikolay M.   (2002-04-05 14:54:00) [1]

А автоинкрементное поле генерится сервером? Если да, то, естественно, зависит, от сервера. Мы на IB когда-то делали так: создавалась хранимая процедура, которая работала с генератором (переменной) и выдавала при каждом ее вызове значение генератора + 1, а перед добавлением новой записи клиент вызывал эту процедуру, получал очередной ID и прописывал это значение в запросе:
INSERT INTO MyTable (ID, Name) VALUES (:NewGeneratedID, "Mikeee")


Mike S   (2002-04-05 09:37:00) [2]

Действительно зачем???
После того как ты узнал и до того как ты сохранил
может кто-то вставить запись и все уехало:)
>JibSkeart ©
Это работает только если последняя запись не была удалена.


Johnmen   (2002-04-05 09:35:00) [3]

>JibSkeart © : Принципиально неверно...
>Mikeee © : Какая БД ?


JibSkeart   (2002-04-05 09:26:00) [4]

А Зачем ??

вообшем можно посмотреть максимальное число и прибавить к нему 1
declare @m int
select @m=Max(Id_key) from Table

select @m=@m+1

select @m

вот посмотри


Наверх

Титульная страница Поиск, карта сайта Написать письмо