Vamos neste artigo criar uma tela para consultar os dados no banco de dados e trazer para edição dos mesmos. Para isso crie uma tela similar a esta da figura:

Observação:
Como se trata de uma tela de consulta, altere a propriedade “readOnly” do DbGrid para True, evitando
a digitação de dados no mesmo.
A exemplo
do artigo anterior onde foi tratado o cadastro dos dados, adicione um
componente TDataSource e altere o nome para DataDados ou a critério próprio.
Depois faça a ligação do mesmo com o componente TClienteDataSet do Data module.
Ligue o
DbGrid ao DataSource que se usado para exibição dos dados encontrados.
No artigo
anterior foi criado uma procedure para abrir a tabela simultaneamente efetuando
uma pesquisa por ID. Neste artigo vamos efetuar algumas alterações nesta rotina
e criar uma outra que funcionará com a clausula “Overload”. A declaração da procedures ficação da seguinte forma:
procedure AbreTabela(pID:Integer);
overload;
procedure
AbreTabela(pNome:String); overload;
e as
funções ficarão desta forma:
procedure
TDM.AbreTabela(pID: Integer);
begin
CdsDados.Close;
QryDados.Close;
QryDados.SQL.Clear;
QryDados.SQL.Add('select * from cliente');
QryDados.SQL.Add('where id = :pID');
CdsDados.FetchParams;
CdsDados.Params.ParamByName('pID').AsInteger := pID;
CdsDados.Open;
end;
procedure TDM.AbreTabela(pNome:String);
begin
CdsDados.Close;
QryDados.Close;
QryDados.SQL.Clear;
QryDados.SQL.Add('select * from cliente');
QryDados.SQL.Add('where Cliente like :pCliente');
CdsDados.FetchParams;
CdsDados.Params.ParamByName('pCliente').AsString := '%'+pNome+'%';
CdsDados.Open;
end;
Feito
isso, agora basta codificar os botões da seguinte forma:
Botão
localizar:
if
RadioGroup1.ItemIndex = 0 then
DM.AbreTabela(StrToInt(Edit1.Text))
else if
RadioGroup1.ItemIndex = 1 then
DM.AbreTabela(Edit1.Text);
DBGrid1.SetFocus;
Botão
Fechar
Close;
E com
isso concluímos a tela de consulta, e como usamos o mesmo componente
TClientDataSet, para realizar a edição dos dados encontrados basta apenas
fechar a tela em questão.
Observação:
A chamada desta tela neste exemplo, é realizada a partir da tela de cadastro,
usando o botão “Consulta”.
Qualquer
dúvida, postem os comentários.