Você está na página 1de 2

Abrindo um DataSet

Em nossos aplicativos Delphi sempre temos muitas linhas de códigos repetidas


para fechar DataSet, passar parâmetros e abrir novamente. Para reduzir um
pouco o código digitado e o tempo de digitação; e ainda deixar o código mais
limpo, legível e bonito, vamos implementar um método padrão de abrir DataSet
passando os parâmetros.

Primeiro o Gerson construiu métodos com sobrecarga para cobrir os diferentes


casos. A idéia já era ótima, mas nós acabamos juntos chegando a esta 'ultimate'
solução.

Este método deve ser um procedimento global ou um método público de um


objeto:

procedure AbrirDataSet(DataSet: TDataSet; Parametros: array of Variant);


var
i: Integer;
begin
DataSet.Close;
for i := 0 to Pred(Length(Parametros)) do
DataSet.Params[i].Value := Parametros[i];
DataSet.Open;
end;

Pronto. Simples, não :)

Lembrando: na unit em que este método for declarado tem que ter as units DB e
Variants na cláusula uses

O parâmetro DataSet representa o DataSet que vai ser usado - Pode ser qualquer
classe derivada de TDataSet (como TClientDataSet, TADODataSet, TBDEDataSet,
etc...).

O Parâmetro Parametros é um array contendo os valores dos parâmetros que


serão passados para o DataSet. Detalhe: os parâmetros devem ser passados na
mesma ordem que está na propriedade Params do DataSet.

Pronto. Agora na aplicação ao invés de ter no mínimo 3 linhas de código para


abrir o DataSet só precisa uma:
AbrirDataSet(CdsProdutos, [EditDescricao.Text]);

O exemplo acima vai passar o valor do EditDescricao para o primeiro parâmetro


do DataSet CdsProdutos e vai abrir o DataSet.

Para mais parâmetros é só separá-los com vírgulas dentro dos colchetes - Os


colchetes são necessários porque o parâmetro é um array.

Então é isso. Divirtam-se e procurem sempre maneiras de fazer o menor e mais


bonito código possível. Abraços.

Você também pode gostar