Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.024 c
4-1080639896
DennisLNC
2004-03-30 13:44
2004.05.16
Перерисовка


8-1077368857
able
2004-02-21 16:07
2004.05.16
сравнение картинок


14-1082397609
RealRascal
2004-04-19 22:00
2004.05.16
Предлагают работу


8-1076930413
r00t
2004-02-16 14:20
2004.05.16
Компонент, работающий с gif на уровне канвы.


1-1083141363
Tsvetkov A.V.
2004-04-28 12:36
2004.05.16
Потоки в ДЛЛ




   Наверх