Um Helper para TDataset
Helpers é um recurso muito poderoso do Delphi e em outras linguagens, adicionam novas funcionalidades a um Objeto sem a necessidade de se fazer herança ou utilizar classes mediadoras e tudo isso em runtime.
Adicione na sessão uses a unidade
Uses Data.DB.Dataset.Helper;
Para encurtar o caminho e tornar nosso desenvolvimento mais veloz, adicionei um novo método a classe Data.DB.TDataset, um método Field Genérico.
{Utilize para setar Valores no TField de Forma mais Curta e concisa}
function FieldSet<T>(AFieldName: String; AValue:Variant ):TDataset; overload;
{recipera o TField}
function Field( AFieldName: String ):TFIeld; overload;
Abaixo uns exemplos de uso.
DBClientes
.Append
.FieldSet<String>('Nome','Marcelo')
.FieldSet<Integer>('ID',10)
.post
.Append
.FieldSet<String>('Nome','Luciana')
.FieldSet<Integer>('ID',11)
.post;
Recuperando o TField de forma mais Curta
DBClientes.Field('Nome').Asstring;
Para simplificar o while em um TDataset , estou disponibilizando um Método chamado ForEach equivalente a outras linguagens , onde passa como callBack o Proprio Dataset que estamos percorrendo.
// A Foreach Exmplo
DBClientes
.ForEach(
procedure
(Arg: TDataset)
begin
// Sua Lógica dentro do Loop
ShowMessage( Arg.Field('Nome').AsString );
end);
Percorrendo um Dataset de forma Simplificada