Форум: "Базы";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.04.11;
Скачать: [xml.tar.bz2];




Вниз

Работа с ADO 


AndrewK   (2002-03-19 12:54) [0]

Как выполнить запрос на вставку записи с возвращением числа.
Есть хранимая процедура на MSSQL Server 7, которая вставляет записи в таблицу и возвращает идентификационный номер записи, получаемый внутри процедуры переменной @@Identity. С помощью TQuery раньше делал так:

with TQuery.Create(nil) do
try
SQL.Text := "MyStoredProc ....";
Active := True;
NewID = FieldByName("NewID").AsInteger;
finally
Active := False;
Free;
end;

Все работало

Комбинация
with TADOQuery.Create(nil) do
try
SQL.Text := "MyStoredProc ....";
Active := True;
NewID = FieldByName("NewID").AsInteger;
finally
Active := False;
Free;
end;
не работает. Выдается сообщение "CommandText does not return a result set."

Процедура значение возвращает в любом случае. Как можно выполнить процедуру и получить значение с помощью ADO?



alehan   (2002-03-19 14:33) [1]

Для вызова хранимой процедуры логичнее бы было использовать TADOStoredProc.


with TADOStoredProc.Create(self) do
try
Connection:=...;
ProcedureName:="MyStoredProc;1";
ExecProc;
NewID := Parameters.ParamByName("@NewID").Value;
finally
Free;
end;



Дмитрий   (2002-03-19 15:54) [2]

rs.close; //rs - TAdoQuery
rs.sql.text:="insert into tbl values("1", "2", 3"); select @@identity as C1 from tbl";
rs.Open;
{int} identity = rs.fieldbyname("C1").asinteger;



Дмитрий   (2002-03-19 15:56) [3]

Пардон, грамотней так: (""1"", ""2"", ""3"")
:))




Форум: "Базы";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.04.11;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.72 MB
Время: 0.07 c
1-32756           Евгений-Зеленоград    2002-03-29 21:44  2002.04.11  
Математические действия с датой (TdateTime)


1-32720           vlv                   2002-03-28 16:58  2002.04.11  
Где лежат изображения стандартных VCL - компонентов?


4-33009           dimich                2002-02-11 11:15  2002.04.11  
Как можно через WinApi cделать ShowMessage!!!


14-32977          drpass                2002-03-05 00:45  2002.04.11  
Злостный хакерский вопрос


1-32872           Ivann                 2002-03-29 14:47  2002.04.11  
Как вставить картинку в TStatusbar?