Как это нет возможности?

With TIbSql.Create(Application) do begin
    DataBase := Db;
    Transaction := Tr;
    SQL.Add('Select Field From Tbl Where Id = :Id');
    Params[0].AsInteger := Id;
    ExecQuery;
    Var := Fields[0].AsInteger;
    Free;
end;

With b/r. Gleb.
сколько строчек кода?
программа и сделана для того, чтобы
уменьшить кол-во всяких рутинных
операций. Чтобы не надо было увязывать
DataBase, DataSource и пр. Чтобы не нужно было
писАть такие конструкции...


Специально написал обходясь только дельфовыми объектами. А в моих программах это выглядит короче. Для этого свои объекты и функции написаны. В частности, для случая, когда запрос вернет одно значение это будет выглядеть совсем просто:

var Ret : TGLMemFields;
...
...

Ret := SqlResult(Format('Select Field From Tbl Where Id = :Id', [Id]), Db,Tr);
If (Assigned(Ret) and (not Ret.IsNull)) then
 Var := Ret.AsInteger;

With b/r. Gleb.


Ответить