ClipaTec Informática

Receba novidades por e-mail. Digite seu e-mail abaixo e clique no botão "Cadastrar"

Delivered by FeedBurner

14 de maio de 2013

Criando cadastro em Delphi com controles Data-ware - final

clipatec
Fala pessoal, tudo bem com vocês?
Como prometido no artigo anterior, aqui está a continuação e finalização da criação de um cadastro super simples no Delphi usando controles Data-ware.
Já dizendo a vocês que isso é apenas um "pontapé" para iniciantes, e para todos que talvez não conheça esta maravilhosa linguagem de programação, percebemos que é muito simples criar um cadastro com o Delphi, e agora, nesse artigo, onde finalizaremos, mostrando como persistir os dados em banco, você verá que em apenas algumas linhas de código nosso cadastro estará pronto.
Muito show mesmo, pra quem busca agilidade no desenvolvimento de software, escolhe o Delphi.
No artigos anterior apenas criamos a conexão com o banco de dados, e a ligação de componentes que formam a estrutura "DBExpress".
Neste artigo, vamos partir para a implementação de alguns métodos.
O primeiro passo é alterar a propriedade "Connected" do componente "SqlConexao" para "True".
O segundo passo é alterar a propriedade "Active" para "True" do componente "cdsCliente".
Muito bem, se não ocorreu nenhum erro, a conexão está "beleza", caso contrário, poste seu comentário que será um prazer ajudá-lo.
delphi
Field Editor

Muito bem, dê um duplo-clique sobre o "cdsCliente" para abrir a janela do "Fields Edit", selecione todos os campos, vá até o formulário principal e arraste esses campos para o formulário, note que automaticamente o delphi adicionará componentes "DBEdits" que são controles data-ware.
Cada controle já estará ligado ao seu campo.
Para complementar nosso formulário, vamos adicionar mais dois controles, são eles: "DBNavigator" e "DBGrid", ligue-os no componente "dsCliente" através da propriedade "DataSource".
Importante ressaltar que os DBEdit's devem estar ligados ao "dsCliente" também, caso o Delphi insira um novo "DataSource" no formulário principal, exclua-o e ligue-os ao "dsCliente" que é o nosso data-source que já está ligado ao "ClientDataSet".
Organize seu formulário e deixe-o parecido com a imagem abaixo:

delphi
















Ok, agora vamos para a implementação de alguns métodos.
Volte ao "Data Module", selecione o componente "cdsCliente", na janela "Object Inspector" clique na aba "Events", e dê um duplo-clique sobre o evento "AfterDelete" e digite os seguintes códigos:

delphi





Esse evento é executado depois de excluir algum registro do banco, simplesmente explicando, ele persiste no banco de dados as atualizações ocorridas.
Agora vamos implementar o método "AfterPost", executado logo após inserirmos ou alterarmos algo no banco, como já sabemos, ele persiste as atualizações no banco.
Para isso, dê um duplo-clique sobre o evento "AfterPost" do "cdsCliente" e implemente:

delphi




Agora vamos implementar o método "BeforeDelete", ele é executado antes de excluir o registro, nele, vamos fazer aquela perguntinha básica se o usuário realmente pretende excluir o registro, ou seja, uma mensagem de confirmação, pois o usuário pode clicar "sem querer querendo" no botão de exclusão, então, pata tratarmos isso, dê dois cliques no evento "BeforeDelete" do "cdsCliente" e implemente o seguinte:

delphi






Na implementação acima, uma pergunta é feita por meio da função "MessageBox" onde passamos por parâmetro respectivamente: a pergunta, o título da janela da mensagem, o (s) botão (ões), no nosso cabo o conjunto "Sim/Não" e o ícone da mensagem, no nosso caso, o ícone de interrogação.
Após isso, verificamos o retorno da aplicação referente ao botão pressionado na mensagem, se for "IDNO", significa que o botão pressionado foi o "Não", sendo assim, entendemos  que o usuário não quer excluir o registro, então abortamos a operação através do comando "Abort", ou seja, a ação de exclusão será abortada, e o registro permanecerá no banco de dados.
Muito bem, sabemos que no banco de dados, temos um campo denominado chave-primária, e esse campo define o registro, sendo assim, cada registro tem o seu, e deve ser diferente, então, vamos implementar o evento "BeforePost" que é executado antes de inserir um novo registro no banco, o que vamos implementar nele, basicamente é a geração do código sequencial do registro (ID) que é no nosso caso, a chave-primária da tabela "Clientes" lá no banco de dados, ou seja, cada registro assumirá um ID antes de ser inserido no banco, pois não é possível salvar o registro sem preencher sua chave-primária, e não é interessante deixar essa tarefa a cargo do usuário, pois, estaremos aumentando a probabilidade de erros, por exemplo, o usuário colocar um ID que já existe em outro registro no banco.
Para maior segurança, selecione o "DBEdit" referente ao ID, e altere sua propriedade "Enable" para "False", desta forma, o usuário não consegue digitar nada dentro dele.
Muito bem, voltando ao evento "BeforePost", implemente da seguinte forma:

delphi









No comando acima, fechamos e abrimos novamente o dataset que contém a instrução "select" que busca o último ID da tabela, ao abrir e fechar o dataset, a instrução SQL é executada, feito isso, atribuíamos ao campo "Id_Cliente" do "cdsCliente" o ID sequencial, que é o resultado do select + 1.
Para finalizar, dê um duplo-clique sobre o data module para implementarmos o evento "OnCreate" do mesmo, ou selecione-o e no evento "OnCreate" dê dois cliques. Insira os seguintes códigos:

delphi





No comando acima, apenas abrimos o "cdsCliente" e conectamos o "sqlConexão". A ordem deve ser ao contrário, primeiro conecta para depois abrir o "cdsCliente", no caso da imagem, ficou trocado a ordem.
Em outros artigos vamos explicar mais detalhadamente sobre os comandos usados nesse tutorial.
Antes de compilar e testar, altere a propriedade "Active" do "cdsCliente" para "False" e a propriedade "Connected" do "sqlConexao" para "False".
Agora, execute e teste. Aguardaremos feedback.
Qualquer dúvida referente a este tutorial, deixe seu comentário, estaremos explicando e ajudando.
Abraço e até a próxima.

(Por ClipaTec Informática)

0 comments:

Postar um comentário

Visite nossa página de Política de comentarios antes de comentar para ter certeza de que seu comentário não será excluído! Lembre-se, assim que aprovarmos o teu comentário ele será publicado, por isso, não deixe de sempre visitar nosso blog e conferir nossa resposta ao seu comentário, abraço!