Icon View Incident Report

Minor Minor
Reported By: Franco Fustini
Reported On: 7/14/2012
For: Version 2.08 Build 3
# 3597 TEDBSession and TEDBDatabase Execute Methods Not Populating Output Parameters Properly

I am trying to get back data through TEDBdatabase.Execute method. I get 1 row, but an empty string as the value of the output COGNOME parameter.

var
  AParams: TParams;
  ASQLTxt: string;
  i: integer;
begin
AParams := TParams.Create(nil);
try
  AParams.CreateParam(ftString, 'pCOGNOME',ptOutput);
  AParams.CreateParam(ftInteger, 'pCODPAZ',ptInput);

  AParams.ParamByName('pCODPAZ').AsInteger := 5;

  ASQLTxt := 'SELECT COGNOME INTO :pCOGNOME FROM NOMI WHERE CODPAZ = :pCODPAZ';

  i := dmStudio.EDB1.Execute(ASQLTxt,AParams);

  ShowMessageFmt('rows: %0:d'#13'code: %1:d - Cognome: %2:s',
                 [i,
                  AParams.ParamByName('pCODPAZ').AsInteger,// Just to check
                  AParams.ParamByName('pCOGNOME').AsString ]);
finally
  AParams.Clear;  
  AParams.Free;
end;



Comments Comments and Workarounds
The workaround is to use a TEDBQuery directly to execute the same SQL.


Resolution Resolution
Fixed Problem on 7/14/2012 in version 2.09 build 1


Products Affected Products Affected
ElevateDB VCL Client-Server
ElevateDB VCL Client-Server with Source
ElevateDB VCL Standard
ElevateDB VCL Standard with Source
ElevateDB VCL Trial

Image