Criando uma Aplicação com RAD 2010 e MySQL 5.1 - Parte 5

Pequeno Tutorial sobre a criação de aplicativos usando o RAD 2010 com o MySQL 5.1 atravês dos componentes DBX.

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.




Artigos relacionados