TFDStoredProc with one input parameter and with integer return value.
var
iGraphCount : integer;
pStoredProc : TFDStoredProc;
begin
...
{ -- get graphs count }
pStoredProc := DB.GetStoredProc( 'sql_detail_graphs_exists_by_SQL_ID' );
try
pStoredProc.ParamByName( '@sql_id' ).AsInteger := self.GetQuestion_Info.iSQL_ID;
DB.CallStoredProc( pStoredProc );
iGraphCount := pStoredProc.ParamByName( '@return_value' ).AsInteger;
finally
pStoredProc.Free;
end;
function TDB.GetStoredProc( _sName : string ) : TFDStoredProc;
var
pStoredProc : TFDStoredProc;
begin
pStoredProc := TFDStoredProc.Create( Application );
try
pStoredProc.Connection := FDConnection;
pStoredProc.StoredProcName := AnsiUpperCase( _sName );
pStoredProc.Prepare;
except
on E : Exception do
begin
MessageDlg( 'Stored procedure error: ' + #13 + #13 +
E.Message, mtError, [ mbOk ], 0 );
end;
end;
result := pStoredProc;
end;
procedure TDB.CallStoredProc( _pStoredProc : TFDStoredProc; _bOpen : boolean = false );
begin
if _pStoredProc = nil then exit;
if ( not _bOpen ) then
_pStoredProc.ExecProc
else
_pStoredProc.Open;
end;
No comments:
Post a Comment