Thank u !~
The 2nd situation is this:
...ODAC version : 5.10.0.5
... Delphi ver: 7 or 2005
i expect to use the OraQuery to execute a procedure which returns a Cursor! and i want to know how many data rows returns first.
-- my Application source :
Query.Options.QueryRecCount := true;
Query.CreateProcCall('XXX');
Query.Open;
-- my procedure:
create or replace procedure xxx(curItem out pkgTest.curItem);
// pkgTest.curItem defined in a package.
-----This is ODAC source(i think problems here ):
this function : {function TOraDataSet.GetRecCount: longint;}
has code like this :
///////////////////////////////////////
St := FinalSQL;
St := {$IFDEF CLR}CoreLab.Odac.{$ENDIF}Ora.SetOrderBy(St, '');
St := 'SELECT Count(*) FROM (' + LineSeparator + St + ')';
/////////////////////////////////////////
while "finalSql" has been built in the function "CreateProcCall"
finalSql = " begin xxx(:curItem); end; "
the variant "ST" come to this:
" select cout(*) from (begin xxx(:curItem); end; ) ";
\===
so ,will this cause a basic SQL error ??