Текущий архив: 2004.05.16;
Скачать: CL | DM;
ВнизTADOCommand.Execute и возвращаемый им RecordSet Найти похожие ветки
← →
Maxim Volobuev (2004-04-19 15:35) [0]Мастера, помогите примерчиком на такую тему: выполняю ADOCommand.Execute с Insertом в таблицу и мне нужно получить свежевставленную запись. Но пример из справки по Execute ADODataSet1.RecordSet := ADOCommand1.Execute; не работает, говорит, что RecordSet должен быть открыт, причем говорит это вне зависимости от того, открыт ADODataSet1 или нет.
Кто это уже делал, напишите пример, как правильно работать с возвращаемым RecordSet.
← →
stone © (2004-04-19 15:40) [1]ADODataSet1.RecordSet := ADOCommand1.Execute срабатывает только втом случае, если ADOCommand1.CommandText := "select ...
т.е. результат выполнения обязательно должен вернуть набор данных.
← →
Ega23 © (2004-04-19 15:45) [2]но ты можешь объединить INSERT и SELECT в одну транзакцию
Set NoCount ON
Insert into ... Values .....
Set NoCount OFF
Select ... from .... where ....
← →
Maxim Volobuev (2004-04-19 15:59) [3]Да в общем то дело в том, что в таблице есть Identity поле, которое само проставляется SQL-сервером. И сразу после Insert мне нечего писать в where, я просто не знаю какое значение сервер присвоил этому полю.
← →
KSergey © (2004-04-19 16:03) [4]Использовать @@IDENTITY или @@SCOPE_IDENTITY в зависимости от версии сервера (2k - @@SCOPE_IDENTITY, название точно не помню)
← →
Maxim Volobuev (2004-04-19 16:06) [5]Использовать где!!??
← →
Ega23 © (2004-04-19 16:10) [6]Set NoCount ON
Declare @X int
Insert into ... Values .....
SELECT @X=@@IDENTITY
Set NoCount OFF
Select ... from .... where .... and ID=@X
← →
Maxim Volobuev (2004-04-19 16:39) [7]Огромное спасибо, все заработало!
← →
KSergey © (2004-04-19 17:00) [8]Только если сервер 2k - обязательно прочитайте о различиях между @@IDENTITY и @@SCOPE_IDENTITY. Это очень важно!
PS
А если бы сразу почитать - то и
[5] Maxim Volobuev (19.04.04 16:06)
> Использовать где!!??
не было бы, т.к. там все написано.
Страницы: 1 вся ветка
Текущий архив: 2004.05.16;
Скачать: CL | DM;
Память: 0.46 MB
Время: 0.036 c