![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
ID вставляемой записи [D6, MSSQL]
Ярослав © (2005-02-07 18:24:00)Подскажите как узнать идентификатор записи при вставке из Delphi в базу MS SQL, т.е. я вставляю запись и знаю что запись произошла успешно, но как мне ее потом найти, что бы установить на ее курсор в DB Grid
Johnmen (2005-02-08 14:22:00) [21]>Ega23 © (08.02.05 13:53) [6]
Почему ?
Ega23 (2005-02-08 13:53:00) [22]2 Johnmen © (07.02.05 21:49) [3]
я бы всё-таки написал немного по-другому:
Query.SQL.Text:=
' Declare @X int
Set NoCount ON
INSERT INTO ...;
Select @X=@@IDENTITY
Set NoCount OFF
SELECT NewId=@X';
Query.Open;
NewId:=Query.FieldByName('NewId').AsInteger;
msguns (2005-02-08 13:28:00) [23]>Anatoly Podgoretsky © (07.02.05 22:46) [4]
>У него IDENTITY а это не генератор и дергать его нельзя. Это только немного похоже на генератор, по сути ближе к автоинкриментному полю.
Спасиб за справку. Со скалой не приходилось работать, только с акцесом. Про identity знал, конечно, но не знал что в скале он остался без изменений.
Anatoly Podgoretsky (2005-02-07 22:46:00) [24]msguns © (07.02.05 18:27) [1]
У него IDENTITY а это не генератор и дергать его нельзя. Это только немного похоже на генератор, по сути ближе к автоинкриментному полю.
Johnmen (2005-02-07 21:49:00) [25]
Query.SQL.Text:=
'INSERT INTO ...;
SELECT @@Identity AS NewId';
Query.Open;
NewId:=Query.FieldByName('NewId').AsInteger;
Ярослав (2005-02-07 20:18:00) [26]Эх...нету у него генератора...
msguns (2005-02-07 18:27:00) [27]Перед записью "дергать" генератор или что там вместо него у мелкомягкой скалы.