Académique Documents
Professionnel Documents
Culture Documents
NET
http://programandodotnet.wordpress.com/2010/04/03/cadastro-de-clientes-em-c-usando-conceitos-de-ado-net-%E2%80%93-parte-1/ 1/24
Programando .NET
Dicas, Artigos e Vdeos de Programao em Geral
Cadastro de Clientes em C# usando conceitos
de ADO.NET Parte 1
Ol pessoal, devido a vrios pedidos, irei criar neste artigo um Cadastro simples de Clientes em Windows
Forms usando C# e os conceitos de ADO.NET, como SqlConnection e SqlCommand. Com exceo da
criao do banco e das tabelas, todo o resto ser via cdigo, desde a criao dos mtodos de acesso aos
dados at os mtodos de incluso, excluso, consulta e atualizao dos dados. Acompanhem:
Comece criando um novo projeto do tipo Windows Forms em C#. D o nome de CadastrodeClientes e
clique em OK.
Agora abra o Server Explorer (CTRL + W + L), clique com o boto direito em cima de Data Connections
16/7/2014 Cadastro de Clientes em C# usando conceitos de ADO.NET Parte 1 | Programando .NET
http://programandodotnet.wordpress.com/2010/04/03/cadastro-de-clientes-em-c-usando-conceitos-de-ado-net-%E2%80%93-parte-1/ 2/24
e clique em Create New SQL Server Database.
Em Server Name, escolha o nome do seu servidor do SQL, em Log on the Server, deixe como Use
Windows Authentication, d o nome de Clientes ao seu DataBase e clique em OK.
Voc ver que o database foi criado. Expanda-o, clique com o boto direito em Table e clique em Add
New Table. Vamos criar a tabela de clientes como exemplo.
Crie as tabelas como mostra a imagem acima, e lembre-se de deixar a coluna IDCliente como Primary
Key, clicando em Set Primary Key no menu acima. Salve a tabela com o nome tbClientes. Lembre-se
tambm de especificar que a coluna IDCliente Identity, ou seja identada, ter um nmero prprio,
assim no precisaremos especific-lo na hora da insero dos dados. S alterar a opo, Is Identity,
como mostra a imagem abaixo:
Vamos criar esses 8 campos como exemplo, permitindo valores nulos apenas nas duas ltimas colunas.
16/7/2014 Cadastro de Clientes em C# usando conceitos de ADO.NET Parte 1 | Programando .NET
http://programandodotnet.wordpress.com/2010/04/03/cadastro-de-clientes-em-c-usando-conceitos-de-ado-net-%E2%80%93-parte-1/ 3/24
Para entender os conceitos de ADO.NET, de incio vamos criar no formulrio apenas 3 botes, Inserir,
Excluir e Atualizar e fazer as instrues SQL via cdigo. Mais a frente faremos a consulta aos dados
inseridos por meio do controle DataGridView, do Visual Studio. Dito isto, crie 3 botes no formulrio,
como mostra a imagem a seguir:
Nas propriedades d os nomes, em Name, de btnInserir, btnExcluir e btnAtualizar. Dentro do cdigo
do boto Inserir, ser necessrio passar a string de conexo do banco de dados. Dica: para no ter que
digitar a string na mo, abra o Server Explorer, clique com o boto direito no Database Clientes e clique
em Properties. Na opo Connection String, copie e cole a string de conexo para o parmetro do
SqlConnection, como a imagem nos mostra:
Segue abaixo todo o cdigo comentado do boto Inserir:
Seguir
Seguir Programando
.NET
Obtenha todo post novo
entregue na sua caixa de
entrada.
Junte-se a 991 outros seguidores
Insira seu endereo de e-mail
Cadastre-me
Tecnologia WordPress.com
16/7/2014 Cadastro de Clientes em C# usando conceitos de ADO.NET Parte 1 | Programando .NET
http://programandodotnet.wordpress.com/2010/04/03/cadastro-de-clientes-em-c-usando-conceitos-de-ado-net-%E2%80%93-parte-1/ 4/24
O cdigo foi inteiramente comentado, mais de qualquer forma vou explicar os pontos importantes.
Dentro do boto Inserir coloquei um try/catch para capturar algum erro que possa acontecer. Comecei
instanciando o SqlConnection, passando a ele a string de conexo, depois instanciei o SqlCommand,
atribuindo a ele o SqlConnection. Depois, usei o mtodo CommandText, do SqlCommand, para fazer
a instruo SQL, s que ao invs de passar diretamente os valores dentro dele, eu passei apenas os
parmetros, como uma forma de segurana dos dados. Assim minha instruo SQL fica parametrizada,
pelo uso do arroba (@) + o nome da coluna da tabela.
Logo aps, passei os valores por meio do mtodo AddWithValue, pertencente ao mtodo Parameters,
do SqlCommand. Nele, que espera dois parmetros, que so os parmetros declarados no INSERT e os
valores em si, foram passados os valores das colunas, com exceo da coluna ID, que como Primary
Key no precisa ser passado nenhum valor.
Aps isso, abro minha conexo por meio do mtodo Open, uso o ExecuteNonQuery, que perfeito
para insero no banco, j que a mesma no nos retorna dados(a usamos tambm para fazer Update e
Delete) e fecho a conexo.
Apenas para fins didticos uma breve explicao dos 4 tipos de execues que tenho no SqlCommand:
ExecuteNonQuery() executa uma instruo que no retorna dados, por exemplo um INSERT ou
16/7/2014 Cadastro de Clientes em C# usando conceitos de ADO.NET Parte 1 | Programando .NET
http://programandodotnet.wordpress.com/2010/04/03/cadastro-de-clientes-em-c-usando-conceitos-de-ado-net-%E2%80%93-parte-1/ 5/24
UPDATE.
ExecuteReader() usado para fazemos um SELECT que retorne um DataReader.
ExecuteScalar() usada quando a consulta retorna apenas um valor, que obrigatoriamente a primeira
linha da primeira coluna.
ExecuteXmlReader() usada para nos retornar um objeto do tipo XmlReader.
Finalizando nosso cdigo, coloquei um MessageBox para informar ao usurio que a insero funcionou.
Salve seu projeto e, antes de compilar, coloque um Breakpoint no comeo do cdigo, como mostra a
imagem a seguir:
Agora compile e teste linha a linha nosso cdigo. Se tudo foi feito como no exemplo, aparecer a
mensagem dizendo que a incluso foi realizada com sucesso.
16/7/2014 Cadastro de Clientes em C# usando conceitos de ADO.NET Parte 1 | Programando .NET
http://programandodotnet.wordpress.com/2010/04/03/cadastro-de-clientes-em-c-usando-conceitos-de-ado-net-%E2%80%93-parte-1/ 6/24
Para ter certeza, abra o Server Explorer, v ao seu Database, v na Tabela de Clientes, clique com o boto
direito em cima dela e clique em Show Table Data. Dever aparecer uma tela como essa:
Agora vamos codificar o boto de Excluir. Os conceitos de ADO.NET, so praticamente os mesmos, s vai
mudar a instruo SQL. Faa o cdigo como abaixo:
Como voc pode perceber, muda pouca coisa em relao aos cdigos do boto de Inserir. Antes de rod-
lo, insira mais alguns dados na tabela, para que a mesma no fique sem dados. Salve, compile e teste
para ver se tudo saiu Ok.
Finalizando, vamos fazer o mtodo referente ao boto Update, que tambm s ser alterado a instruo
SQL, j que vamos atualizar os dados j existentes. D dois cliques nele e insira o seguinte cdigo:
16/7/2014 Cadastro de Clientes em C# usando conceitos de ADO.NET Parte 1 | Programando .NET
http://programandodotnet.wordpress.com/2010/04/03/cadastro-de-clientes-em-c-usando-conceitos-de-ado-net-%E2%80%93-parte-1/ 7/24
Neste exemplo alteramos somente o Endereo, Telefone e Email, mais voc pode alterar todos os
campos se assim achar necessrio. Salve, compile e veja o resultado na sua tabela.
Antes do Update:
Depois do Update:
Com isso, termino aqui a 1 parte de nosso artigo que explora o uso dos conceitos de ADO.NET com C#.
Na prxima parte de nosso artigo, iremos usar o controle DataGridView em nosso projeto.
Para quem se interessar, disponibilizo o cdigo fonte desse projeto aqui.
Lembrando que esse projeto foi feito usando o Visual Studio 2008 Professional SP1.
Abraos.
16/7/2014 Cadastro de Clientes em C# usando conceitos de ADO.NET Parte 1 | Programando .NET
http://programandodotnet.wordpress.com/2010/04/03/cadastro-de-clientes-em-c-usando-conceitos-de-ado-net-%E2%80%93-parte-1/ 8/24
4 Votos
At o prximo artigo!
Avalie isto:
Divulgue:
Google Facebook 2 Twitter LinkedIn Email Imprimir
Google+
Wellington Camargo
Este post foi publicado em .NET, C#, SQL Server e marcado com a tag ado.net, cadastro de clientes,
conceitos em 03/04/2010 [http://programandodotnet.wordpress.com/2010/04/03/cadastro-de-clientes-
You May Like
1.
About these ads
Seguir 195
Gosto
Be the f irst to like this.
Relacionado
Cadastro de um Consultrio
em Windows Forms, com C#
e SQL Server Parte 6
Em ".NET"
Cadastro de Consultrio em
Windows Forms, com C# e
SQL Server Parte 1
Em ".NET"
Configurao do Banco e
Criao do Projeto: Exibio
Mestre-Detalhe de Registros
- Parte 1
Em ".NET"
16/7/2014 Cadastro de Clientes em C# usando conceitos de ADO.NET Parte 1 | Programando .NET
http://programandodotnet.wordpress.com/2010/04/03/cadastro-de-clientes-em-c-usando-conceitos-de-ado-net-%E2%80%93-parte-1/ 9/24
em-c-usando-conceitos-de-ado-net-%e2%80%93-parte-1/] .
46 ideias sobre Cadastro de Clientes em C# usando conceitos de ADO.NET
Parte 1
Parabns wellington vc est ajudando muita gente inclusive eu, sou iniciante em c# muito obg., vlw.!!!
Roberta
02/07/2013 s 14:47
Curtir
Fernando Santos
16/7/2014 Cadastro de Clientes em C# usando conceitos de ADO.NET Parte 1 | Programando .NET
http://programandodotnet.wordpress.com/2010/04/03/cadastro-de-clientes-em-c-usando-conceitos-de-ado-net-%E2%80%93-parte-1/ 10/24
Obrigado se todos artigos na net fosse assim simples e objetivo voc esta de parabns!!
voc tem aulas de java?
Obrigado Fernando!
Infelizmente no, s .NET/SQL mesmo.
Abrao
26/03/2013 s 23:23
Curtir
programator
27/03/2013 s 8:26
Autor do post
Curtir
istanciaaa*
Franz
18/10/2011 s 15:20
Curtir
puts cara vlw.. to conseguindoo sim.. to usandoo CHECKLISTBOX .. da hora.. porm to indo na raa tenho
que aprende mais sobre o conceito , herana, classe instancia essas coisas. seus artigos so legais cara
aborda o assunto em uma linguagem mais facil .. sem perder o conceito tecnico.. vlw cara !!
Franz
18/10/2011 s 15:18
16/7/2014 Cadastro de Clientes em C# usando conceitos de ADO.NET Parte 1 | Programando .NET
http://programandodotnet.wordpress.com/2010/04/03/cadastro-de-clientes-em-c-usando-conceitos-de-ado-net-%E2%80%93-parte-1/ 11/24
Ou melhor, se tiver com tempo veja a srie de artigos do Consultrio no link abaixo:
http://programandodotnet.wordpress.com/tag/consultorio
Se mesmo assim no conseguir manda seu projeto pra mim.
Abraos.
Curtir
eaew cara muito bom teu artigo.. estou comeando agora tem uns 2 meses .. suahusa ai estou fazendo
uma aplicao aqui que e o seguinte. ultiliza o CRUD select ,insert,update,delete ..para 2 tabelas
cad_aluno e cad_disciplina.. so que no consigo fazer o DELETE estou meio confuso.. pq o delete depende
do que o usuario digitar e quizer deletar pode me dar uma ajuda ai cara ?
vlw
att Franz
Cara, obrigado pelo elogio.
No entendi sua dvida, manda seu projeto zipado pra mim, para o email wellingtonbalbo@gmail.com
que assim que possvel vejo pra voc.
Abraos.
Franz
11/10/2011 s 12:08
Curtir
programator
11/10/2011 s 18:18
Autor do post
Curtir
16/7/2014 Cadastro de Clientes em C# usando conceitos de ADO.NET Parte 1 | Programando .NET
http://programandodotnet.wordpress.com/2010/04/03/cadastro-de-clientes-em-c-usando-conceitos-de-ado-net-%E2%80%93-parte-1/ 13/24
wellington,
Inicialmenten Parabns pelo post, sou visitante e gostei da forma que voc colocou este material. Estou
tentando aprender c# na tora, abro uma pagina aqui outra al, vou olhando analizando e quero aprender
programar com c#. Voc mim indicaria algum livro, apostila alguma coisa para dar o ponta p inicial.
Erildo, obrigado pelos elogios.
Segue link de um excelente livro chamado Use a Cabea C#, em portugus:
http://www.4shared.com/file/wc9jLZlZ/Use_a_Cabea_C.html?
Excelente material de estudo, aproveite!
Abraos.
Erildo Quirino
27/08/2011 s 20:47
Curtir
programator
27/08/2011 s 22:08
Autor do post
Curtir
Otimo exemplo, estou comeando agora com c#, queria saber o seguinte, criando os botes, Adicionar,
Exclui, eos textBox, com fao para jogar no banco SqlServer 2008, pois o seu post, e direto em comandos
sql, gostaria se coo se fosse normal!
Abraos!
Emerson Giraldi
01/08/2011 s 12:20
Curtir
16/7/2014 Cadastro de Clientes em C# usando conceitos de ADO.NET Parte 1 | Programando .NET
http://programandodotnet.wordpress.com/2010/04/03/cadastro-de-clientes-em-c-usando-conceitos-de-ado-net-%E2%80%93-parte-1/ 14/24
Ol Welligton.,meu nome adriano, Queria que vc me ajudasse com um problema que estou
enfrentando com meu banco de dados sql server, pois quanto tento criar uma aplicao que liga os
dados, no consigo fazer a conexo, pois ele exibe um erro dizendo que o sql server no pode se
conectar, porque no esta configurado para fazer conexes remotas. queria saber como resolver esse
problema!
ate mais.
Adriano, erro estranho cara. Como voc est tentando se conectar ao SQL Server?
Se quiser manda seu projeto pro meu email, tento dar uma olhada: wellingtonbalbo@gmail.com.
Abraos.
Annimo
24/07/2011 s 13:16
Curtir
programator
24/07/2011 s 20:02
Autor do post
Curtir
16/7/2014 Cadastro de Clientes em C# usando conceitos de ADO.NET Parte 1 | Programando .NET
http://programandodotnet.wordpress.com/2010/04/03/cadastro-de-clientes-em-c-usando-conceitos-de-ado-net-%E2%80%93-parte-1/ 15/24
Abraos.
Curtir
Cara Nao ta Reconhecendo nenhum Comando Sql, Todos Eles estao dando erro
e ainda fala que ta esperando um {
Cara, voc precisa usar o namespace System.Data e o System.Data.SqlClient.
Veja se isso, se continuar a dar erro me mande seu projeto por email pra wellingtonbalbo@gmail.com
pra eu tentar te ajudar.
Abraos.
Rangel
29/05/2011 s 10:29
Curtir
programator
29/05/2011 s 11:57
Autor do post
Curtir
16/7/2014 Cadastro de Clientes em C# usando conceitos de ADO.NET Parte 1 | Programando .NET
http://programandodotnet.wordpress.com/2010/04/03/cadastro-de-clientes-em-c-usando-conceitos-de-ado-net-%E2%80%93-parte-1/ 17/24
Edelmar, pelo que o erro aponta, ele est reconhecendo a varivel @EMAILCLIENTE como
@EMAILCLIENTEWHERE, ou seja, experimente dar um espao na linha do @EMAILCLIENTE, e outro
espao na linha abaixo, do WHERE, e v se isso resolve.
Note que no meu artigo fiz tudo com espaos, para dizer exatamente ao SQL Server o que varivel e o
que uma clusula.
Se tiver mais dvidas, comenta a, abraos.
24/04/2011 s 21:23
Curtir
Wellington, parabns!
Realmente ajudando muitas pessoas, continue, por favor!
em relao ao problema dos colegas em estar inativo, basta, ao invs de clicar em CREATE NEW SQL
CONNECTION SERVER DATABASE clicar em ADD CONNECTION, e direcionar para o banco de dados!
vlw, abrao.
Beleza Bruno, obrigado pelos elogios cara!
Valeu pela dica e por ajudar os amigos.
Abraos.
Bruno
09/04/2011 s 3:28
Curtir
programator
09/04/2011 s 13:13
Autor do post
Curtir
16/7/2014 Cadastro de Clientes em C# usando conceitos de ADO.NET Parte 1 | Programando .NET
http://programandodotnet.wordpress.com/2010/04/03/cadastro-de-clientes-em-c-usando-conceitos-de-ado-net-%E2%80%93-parte-1/ 19/24
Pingback: Os nmeros de 2010 Programando .NET
Cara parabens pelo site, voc est fazendo um trabalho muito bom mesmo.
Mas eu estou com o mesmo problema que o Paulo relatou no seu comentario, a opo Create New SQL
Server Database tambem se encontra inativa aqui comigo. Eu tenho instalado SQL Server Management
Studio no PC. A verso que estou usando e o visual C# 2010. Se voc podesse me ajudar ficaria muito
grato.
Parabens pelo site continue assim e conto com sua ajuda nesse problema.
Um Abrao!!!
Cesar, valeu pelos elogios.
Cara, que estranho, no deveria ficar inativa a opo para criar Database.
Voc pode fazer de outra forma, abrindo direto o SQL Server e criando as tabelas que precisa.
Depois voc s faz a conexo direta, pelo Server Explorer.
Qualquer coisa, me manda um email cara > wellingtonbalbo@gmail.com.
Abraos.
Cesar
21/01/2011 s 21:29
Curtir
programator
22/01/2011 s 14:50
Autor do post
Curtir
16/7/2014 Cadastro de Clientes em C# usando conceitos de ADO.NET Parte 1 | Programando .NET
http://programandodotnet.wordpress.com/2010/04/03/cadastro-de-clientes-em-c-usando-conceitos-de-ado-net-%E2%80%93-parte-1/ 20/24
Pingback: Estatsticas do Blog 2010 Programando .NET
Ol amigo, parabns pelo seu artigo, de certa forma me ajudou mto em meu projeto apesar de estar
usando o access e no o sql, peguei a logica e passei para o access. Como eu trabalho com VB.NET e como
sou nova na rea gostara de saber se voc possui material relacionado ao visual studio junto com access,
quero me aprofundar mais no VB, se puder me ajudar fico grata!
Carol, obrigado pelo elogio.
Ento, no tenho nenhum artigo em VB.NET (no gosto muito dessa linguagem, sou + C#!), mais posso te
indicar um dos melhores (pra no dizer O melhor!) sites de VB.NET do Brasil > http://www.macoratti.net.
Aqui voc encontra os artigos dele sobre VB.NET especificamente:
http://www.macoratti.net/pageview.aspx?catid=1
Tenho em casa um sistema de cadastro de clientes pronto com banco Access, se quiser te passo por
email (s que est em C#), s pedir no wellingtonbalbo@gmail.com.
Abraos e bons estudos!
Carol
22/12/2010 s 16:05
Curtir
programator
22/12/2010 s 16:41
Autor do post
Curtir
Muito bom seus artigos Mas se fosse preciso normalizar esta tabela cliente: por exemplo, Tera
tb_cliente,tb_log,tb_bairro,tb_cidade,tb_uf.
Como que seria?
Railon
02/12/2010 s 10:28
16/7/2014 Cadastro de Clientes em C# usando conceitos de ADO.NET Parte 1 | Programando .NET
http://programandodotnet.wordpress.com/2010/04/03/cadastro-de-clientes-em-c-usando-conceitos-de-ado-net-%E2%80%93-parte-1/ 21/24
Obrigado
Da mesma forma cara, s aumentaria o nmero de campos no form, e consequentemente na
codificao.
Abraos.
Curtir
programator
02/12/2010 s 15:01
Autor do post
Curtir
Parabns pelo teu trabalho. Ando a iniciar-me no C# 2008, e ao tentar fazer este exemplo deparei-me
com uma dificuldade logo no incio:
Ao fazer com o boto direito em cima de Data Connections, a opo Create New SQL Server Database,
aparece-me inactiva, e portanto no seleccionvel. Como resolvo o problema?
Obrigado
-Podes indicar-me bons livros sobre ADO.NET com C# e sobre Ficheiros em WindowsForm?
Paulo, obrigado por acessar meu blog!
Cara, erro estranho, voc tem instalado o SQL Server Management Studio em seu pc?
Paulo
14/11/2010 s 22:03
Curtir
programator
15/11/2010 s 0:51
Autor do post
16/7/2014 Cadastro de Clientes em C# usando conceitos de ADO.NET Parte 1 | Programando .NET
http://programandodotnet.wordpress.com/2010/04/03/cadastro-de-clientes-em-c-usando-conceitos-de-ado-net-%E2%80%93-parte-1/ 22/24
Fala Wellington.
Blz?
Cara, seu site est arrebentando hein. Muito bom mesmo!!!
Pode teria algum material de Lgica de programao?
Grande abrao amigo!
Fala cara, beleza! Valeu pelos elogios. Tenho algum material de Lgica em casa. Vou subir pra um servidor
e mais tarde disponibilizo a voc o link para download.
Abraos.
Cara, com um pouco de atraso, subi o pdf de Lgica de Programao que eu tenho. Pode ser acessado
Anderson
07/04/2010 s 14:07
Curtir
programator
07/04/2010 s 17:55
Autor do post
Curtir
programator
16/04/2010 s 10:59
Autor do post
16/7/2014 Cadastro de Clientes em C# usando conceitos de ADO.NET Parte 1 | Programando .NET
http://programandodotnet.wordpress.com/2010/04/03/cadastro-de-clientes-em-c-usando-conceitos-de-ado-net-%E2%80%93-parte-1/ 23/24
Cara, muito bom o seu artigo, com muita clareza nos comentrios.
Valeu mesmo essa iniciativa.
Greyson Mascarenhas
05/04/2010 s 9:02
Curtir
Obrigado Galvo, tento ser o mais simples e direto em meus artigos para que no haja nenhum dvida
em relao a eles. Bom uso nas suas aulas.
Abraos.
Curtir