Olá pessoal, volto com a série de artigos usando os conceitos básicos de ADO.NET. Nesta parte iremos customizar nosso formulário de Cadastro de Clientes, adicionaremos textbox e usaremos o controle DataGridView, do Visual Studio. Confiram:

 Abra seu projeto no VS. Vamos customizar nosso formulário. Adicione alguns textboxes relativos aos campos de nossa tabela de Clientes e altere os botões já existentes no form, como mostra a imagem abaixo:


Assim nosso form ficará com um visual mais apresentável e intuitivo. Como vocês podem perceber, coloquei os campos referentes as colunas de nossa tabela, com exceção da coluna ID, que é Identity (tem uma contagem pré-definida) e não precisa ser informada. Uma coisa muito importante: sempre ao atribuir nomes aos controles, é uma boa prática seguir um certo padrão, como por exemplo para Labels uso as três letras iniciais do controle + o que ele representa ao formulário. Por exemplo no label de Nome, uso lblNome, no textbox de Nome, uso txtNome e assim por diante.

Abaixo descrevo, na ordem em que foram inseridos no form, os nomes dos controles usados na propriedade (Name), que serão identificados mais tarde em nosso código (por isso a importância de nomes intuitivos e fáceis de serem lembrados):

Labels – lblMensagem, lblNome, lblEndereco, lblBairro, lblEstado, lblTelefone, lblCelular e lblEmail

TextBoxes – txtMensagem, txtNome, txtEndereco, txtBairro, txtTelefone, txtCelular e txtEmail

ComboBox (também chamado de DropDownList) – ddlEstado

Botões – btnGravar, btnNovo e btnVerCadastros

Para dicas do tipo das nomenclaturas utilizadas ao criar Classes, Interfaces, Campos, Propriedades, Métodos, Parâmetros e Variáveis, acesse este post.

Voltando ao formulário, você pode perceber que alterei também os 3 botões que antes eram Inserir, Excluir e Atualizar e que agora passam a se chamar Gravar Cadastro, Novo Cadastro e Ver Cadastros. Os dois primeiros são referentes ao próprio cadastro e o terceiro irei explicar mais tarde.

Como nossos campos tem um limite de caracteres, temos que fazer o mesmo nos textboxes que receberão os dados. Por exemplo, na coluna Nome, foi atribuído o valor máximo de 50 caracteres. 


Para que façamos o mesmo no txtNome, devemos alterar a propriedade MaxLength (que está com o valor padrão, que é 32767) para 50.


Faça isso com os demais controles, com exceção do ComboBox de Estado que já terá os valores atribuídos a ele e o usuário só precisará escolher um valor. Dica: para não permitir que seja digitado texto no ComboBox, altere a propriedade DropDownStyle para DropDownList. Na propriedade Items do ComboBox, clique nos três pontinhos ao lado e insira os 27 estados brasileiros (isso mesmo fiote, na mão!). Para facilitar, listo abaixo os 27 estados:

01 – Amazonas, 02 – Pará, 03 – Mato Grosso, 04 – Minas Gerais, 05 – Bahia, 06 – Mato Grosso do Sul, 07 – Goiás, 08 – Maranhão, 09 – Rio Grande do Sul, 10 – Tocantins, 11 – Piauí, 12 – São Paulo, 13 – Rondônia, 14 – Roraima, 15 – Paraná, 16 – Acre, 17 – Ceará, 18 – Amapá, 19 – Pernambuco, 20 – Santa Catarina, 21 – Paraíba, 22 – Rio Grande do Norte, 23 – Espírito Santo, 24 – Rio de Janeiro, 25 – Alagoas, 26 – Sergipe, 27 – Distrito Federal.

Lembrando que se quiser você pode adicionar muito menos estados, só estou adicionando todos ao exemplo para dar um tom de realismo ao projeto!

Ok, vamos finalmente aos códigos. Dê dois cliques no botão de Gravar. O código usado será praticamente o mesmo do código de Inserir, feito na parte anterior de nosso artigo. Faça como na imagem a seguir:



Como você pode perceber, a única coisa que mudou em relação ao código da parte anterior do artigo foi na hora de passar os parâmetros, já que agora não passo mais os valores no “hardcode”, ou seja, direto no código. Desta forma, é atribuído os valores digitados pelo usuário no campo de texto e inseridos no banco. Só tome cuidado, pois na minha tabela só deixei permitido valor nulo nos campos Email e Celular. Se em mais algum destes campos você digitar um valor nulo, será disparado um erro em seu código. Para que seja informado ao usuário uma mensagem amigável quando isso acontecer, faça o seguinte:



 Logo acima de nosso código, dentro do Try/Catch, coloque este If, que verifica se os controles estão diferentes de string.Empty (que significa que não há valores inseridos). Se estão, o processamento normal de gravação continua. Senão, eles entram no Else abaixo, que exibe uma mensagem de erro ao usuário:



Desta forma capturamos os possíveis erros ao sistema. Lembrando que essa é uma forma simplista de se fazer isso, poderíamos muito bem criar um método que Valida esses campos (como bem apontou meu amigo Emerson) e chamá-lo no lugar deste If enorme que foi feito.

Ok, agora vamos criar o método do botão Novo, que irá limpar os dados dos campos para o usuário fazer um novo cadastro. Insira o seguinte código:



Fiz um simples If perguntando ao usuário se ele deseja limpar os campos e criar um novo cadastro.

Agora vamos ao método do botão Ver Cadastros, que nos vai mostrar um DataGridView com todos os cadastros criados. Antes disso, temos que criar um novo form. Para isso, abra a Solution Explorer (CTRL + W + S), clique com o botão direito no projeto, clique em Add > Windows Form e dê o nome de VerCadastros. Agora abra a ToolBox (CTRL + W + X), vá ao submenu Data e arraste ao seu form o controle DataGridView. Precisamos adicionar um DataSource ao nosso Grid. Para isso, clique na seta ao lado do Grid e clique em Choose Data Source > Add Project Data Source, como mostra a imagem:



Na tela que aparece, escolha Database como fonte de dados e clique em Next. Na próxima tela, selecione o Database referente a sua tabela de Clientes, clique para ver a string de conexão e clique em Next.



Na próxima tela, deixe selecionado a opção para salvar sua string de conexão, troque o nome dela se desejar e clique em Next. Na próxima tela escolha os objetos do banco que você deseja importar para seu Grid, dê um nome a seu DataSet e clique em Finish.



Pronto, nosso Grid agora está com as informações provenientes de nossa tabela de Clientes. Se você ver as opções do Grid, verá que tem algumas em particular muito interessantes, que te permitem alterar, adicionar e excluir os dados do grid, e posteriormente da tabela. Nesse exemplo, deixei as 3 opções selecionadas. Salve seu form e volte ao form de Cadastro.

Dê dois cliques no botão Ver Cadastros e apenas insira o código abaixo para ver o form que criamos com o grid:


Agora compile o projeto, clique no botão Ver Cadastros e veja nosso Grid preenchido, como mostra a imagem:


Na próxima parte de nosso artigo, iremos usar DataSet em nosso projeto. Se tiverem dúvidas ou pedidos para que use outros controles relacionados ao acesso a dados no projeto, postem nos comentários ou mandem emails para wellingtonbalbo@gmail.com.

Para quem se interessar, disponibilizo o código fonte desse projeto aqui.

 Abraços.

Até o próximo artigo!