TOraQuery: Output parameters

Discussion of open issues, suggestions and bugs regarding ODAC (Oracle Data Access Components) for Delphi, C++Builder, Lazarus (and FPC)
Post Reply
Quake_MSC
Posts: 6
Joined: Wed 18 Jul 2007 09:59

TOraQuery: Output parameters

Post by Quake_MSC » Fri 06 Mar 2009 08:55

Dear people,

i have 2 parameters in a sql statement, 1 to retrieve and 1 to send.


code:
WITH OraQueryIAAD
DO
BEGIN
SQL.Clear;
SQL.Add('select adr_name1, adr_name2, adr_str, adr_plz, adr_ort, ' +
'adr_staid ');
SQL.Add('from sadr_adresse where adr_adrid = :iadrid into :sadrname1');
OraQueryIAAD.ParamByName('iadrid').AsInteger:= iAdrid;
OraQueryIAAD.ParamByName('iadrid').AsString:= isadrname1;
Prepare;
Open;
....

execution will get an error:
ORA-01036: variable not found

How can i define the correct output variable and use it...

thx a lot

Plash
Devart Team
Posts: 2844
Joined: Wed 10 May 2006 07:09

Post by Plash » Wed 11 Mar 2009 08:38

We could not reproduce the problem. Please send to odac*devart*com a complete small sample that demonstrates the problem, including the script for creating database objects.

Morris
Posts: 2
Joined: Tue 24 Mar 2009 16:03

Use FieldByName

Post by Morris » Wed 01 Apr 2009 06:56

WITH OraQueryIAAD DO
BEGIN
SQL.Clear;
SQL.Add('select adr_name1, adr_name2, adr_str, adr_plz, adr_ort, ' +
'adr_staid ');
// Removed into ....
SQL.Add('from sadr_adresse where adr_adrid = :iadrid');
// Pass parameters to query - Use ParamByName
ParamByName('iadrid').AsInteger:= iAdrid;
Prepare;
Open
// Get Results of query - Use FieldByName
vAdr_Name1 := FieldByName('adr_name1').AsString;
vAdr_Name2 := FieldByName('adr_name2').AsString;
... :lol: etc

Post Reply