allangomessl / Auxo.Queryable

Link for Delphi (as C#)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Query Libary for Delphi v. 1.0.0-prealpha

Linq for Delphi

  • Dependencies None
var
  query: IQuery;
begin
  query := TQuery.Create;
  query.SkipTake[0, 50]
       .Select('Name, Age')
       .From('Customer')
       .Where
          ['Age', TOperator.Lt, 16].Orr['Age', TOperator.Gt, 65]
       .Order['Age', TOrder.Desc];
{...}

Query Execute (Async)

procedure Execute(AExec: IQueryExecute; AQuery: IQuery)
begin
  AExec[AQuery].ToListAsync( //When finished, will call callback function for each record.
  procedure(customer: IRecord)
  begin
    ShowMessage(customer['Name']);
  end)
end;

Query Execute and Set to AuxoDataSet (Async)

procedure ExecuteAndSetDataSet(AExec: IQueryExecute; AQuery: IQuery)
begin
  AExec[AQuery].ToListAsync(
  procedure(customers: IRecordList)
  begin
    dataset.Data := customers;
  end;
end

Query Execute (Sync)

procedure ExecuteSync(AExec: IQueryExecute; AQuery: IQuery)
var
  customer: IRecord;
begin
  for customer in AExec[AQuery].ToList do
  begin
    ShowMessage(customer['Name']);
  end;
end;

Coming soon

QueryExecute := TFireDacQueryExecute.Create('localhost', TFirebirdQueryTranslator.Create)); //FireDac e Firebird
QueryExecute := TDBXQueryExecute.Create('localhost', TFirebirdQueryTranslator.Create));     //DBExpress e Firebird
QueryExecute := TDBXQueryExecute.Create('localhost', TSQLServerQueryTranslator.Create));     //DBExpress e SQLServer
QueryExecute := TMyApiQueryExecute.Create('localhost', TMyApiQueryTranslator.Create));      //MyApi e UrlParameters

Execute(QueryExecute, Query);

About

Link for Delphi (as C#)


Languages

Language:Pascal 100.0%