quinta-feira, 28 de maio de 2009

Delphi - Manipulando Dados ( CRUD)

Como prometi, vou explicar agora inclusão, Alteração e Exclusão de dados do banco.
Agora que nossa aplicação já está conectada com o banco (se a sua não está, dê uma olhadinha no post anterior), vamos a preparação das telas, podemos fazer de duas maneiras:
1 - Trazer os campos direto da query, deixando assim eles conectados automaticamente no banco.
2 - Colocar as Label's e Edit's do jeito que quisermos e depois no evento click dos botões, passamos as informações para o ClientDataSet.
Farei da maneira numero 1, pois o código ficara mais fácil de ser entendido, com o tempo você escolhe a maneira que mais lhe agradar, e que a sua aplicação necessitar.
Obs: Estou deixando meus componentes todos ativados, pois o foco aqui é a manipulação dos dados, vale lembrar que o ideal seria mantelos desativados, e ativa-los pelo código conforme a necessidade.
Faremos uma tela de cadastro de clientes, bem simples só para aprendizado, no form que você vai montar a tela, aperte a tecla F12, ele mostrará o código do form, em baixo da palavra implementation, você vai dizer que usaremos o Modulo, então ficará assim:

implementation uses

Modulo;


Agora vá para o Modulo e dê dois cliques no qry_clientes, a tela que abrirá estará mostrando os campos da sua tabela no banco, deixe essa tela aberta e vá para o form , arreste os campos da telinha para o form, já serão criadas uma label e um dbedit, a label você dá o nome que desejar, e vai montando sua tela do jeito que quizer, agora coloque 5 botôes(Incluir, Alterar, Gravar, Excluir, Cancelar) e um dbgrid, minha tela ficou assim:

Como você pode perceber, o Delphi já criou um data source nesse form, mas não vamos usa-lo, para evitar bagunça, vamos usar o que já criamos no Modulo, então delete esse que ele criou, e nas opções DataSource das dbedits você seleciona dm -> ds_clientes, e também coloque a mesma coisa na propriedade DataSource do DbGrid, pronto estamos conectados, se você tiver informações cadastradas nessa tabela, ela já estará aparecendo ai pra vc.
Os títulos do DbGrid você pode mudar pela estrutura do form (Structure) localizado no canto superior esquerdo, como você pode ver na figura acima, lá estará o grid e os campos dele, você seleciona o campo e muda o caption dele para o que achar melhor.
Agora no evento click do botão Incluir coloque o seguinte comando dm.cds_clientes.Append; , toda vez que o botão incluir for clicado ele criará um registro novo na tabela.
No botão Alterar coloque dm.cds_clientes.Edit; , com esse comando o registro que você selecionar no grid, será mostrado nas dbedit's e poderá ser alterado.
No botão Gravar coloque dm.cds_clientes.ApplyUpdates(0); , esse botão servirá tanto para gravar a inclusão dos registros novos quanto para gravar alterações, o (0) , significa que se tiver algum erro que o firebird detect nas informações ele não vai gravar.
No botão Excluir coloque dm.cds_clientes.Delete; e dm.cds_clientes.ApplyUpdates(0); , assim você deleta o registro e grava a alteração do banco.
E no Cancelar dm.cds_clientes.cancel; .
Pronto nosso cadastro está pronto, a rotina é a seguinte, para incluir registros novos, você clica no botão Incluir, Digita as informações e depois clica no botão Gravar, para alterar, selecione o registro no grid e clique no botão Alterar, Modifique o que for necessário e clique no botão Gravar, para excluir, selecione o registro no grid e clique no botão Excluir e se você clicou em Incluir ou Alterar e deseja cancelar a operação, clique no botão Cancelar.
Foi simples não foi ?
Lembrando que essa aplicação é apenas para que você entenda como é a comunicação do Delphi com o firebird, e como usar o modulo, agora cabe a você deixar essa aplicação utilizavél, pois não foi feito nenhum tratamento de erro nesse form, nenhuma verificação ele está praticamente cru.... ;).
futuramente colocarei projetos mais completos.
Boa Sorte !!!!

Um comentário:

  1. Já estou quase virando uma programadora...

    Parabéns, tá ótimo !

    Bjs...

    Gabi

    ResponderExcluir