| Obrazer |
procedure ExecQuery(Db: TDatabase; SQL: String); |
Фи. Я еще понимаю самому такое использовать, но учить молодежь неправильному стилю проектирования - совсем никуда не годится.
function TGIOraSession.Select ( Text : string ;
const Params : array of variant ) : IGIOraQuery ;
var Query : TGIOraQuery ;
begin
Query := TGIOraQuery.Create ( nil ) ;
try
Query.Session := Self ;
InitQuery ( Query, Text, Params ) ;
Query.Open ;
except
FreeAndNil ( Query ) ;
raise ;
end ;
Result := Query ;
end ;
function TGIOraSession.ExecSQL ( Text : string ; const Params : array of variant ) : variant ;
begin
Result := Null ;
InitQuery ( FQuery, Text, Params ) ;
FQuery.ExecSQL ;
end ;
function TGIOraSession.SelectValue ( SQLText : string ;
const Params : array of variant ) : variant ;
begin
Result := SelectValue ( SQLText, Params, Unassigned ) ;
end ;
function TGIOraSession.SelectValue ( SQLText : string ;
const Params : array of variant ;
Default : variant ) : variant ;
begin
InitQuery ( FQuery, SQLText, Params ) ;
FQuery.Open ;
if FQuery.IsEmpty
then Result := Default
else Result := FQuery.Fields [ 0 ].Value ;
FQuery.Close ;
end ;