Вниз
Скачать: 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.027 c
11-1069910457
Igit
2003-11-27 08:20
2004.05.16
Не работает код


7-1080725668
Ega23
2004-03-31 13:34
2004.05.16
Ещё раз рискну вопрос по драйверам поднять


3-1081783672
oleg_SYS
2004-04-12 19:27
2004.05.16
Stream в таблицу Access


7-1080649393
race
2004-03-30 16:23
2004.05.16
GetForegroundWindow


9-1072382293
lucky
2003-12-25 22:58
2004.05.16
Помогите плз сделать 3d врыв в DelphiX.




   Наверх