Cadastro de Clientes Em C# Parte 1 e 2 e 3

Embed Size (px)

Text of Cadastro de Clientes Em C# Parte 1 e 2 e 3

Cudustro de Clientes em C# osundo conceitos de AO.NIT - Purte 1 Veja Nesta Quick Iremos criar neste artigo um Cadastro simples de Clientes em Windows Forms usando C# e os conceitos de ADO.NET, como SqlConnection e SqlCommand. Publicidade Ola pessoal, 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 excecao da criacao do banco e das tabelas, todo o resto sera via cdigo, desde a criacao dos mtodos de acesso aos dados at os mtodos de inclusao, exclusao, consulta e atualizacao 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 botao direito em cima de Data Connections e clique em Create New SOL Server Database. Em Server Name, escolha o nome do seu servidor do SOL, em Log on the Server, deixe como Use Windows Authentication, d o nome de Clientes ao seu DataBase e clique em OK. voc vera que o database foi criado. Expandao, clique com o botao 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 lembrese de deixar a coluna !DCliente como Primary Key, clicando em Set Primary Key no menu acima. Salve a tabela com o nome tbClientes. Lembrese tambm de especificar que a coluna !DCliente !dentity, ou seja identada, tera um nmero prprio, assim nao precisaremos especificalo na hora da insercao dos dados. S alterar a opcao, !s !dentity, como mostra a imagem abaixo: vamos criar esses 8 campos como exemplo, permitindo valores nulos apenas nas duas ltimas colunas. Para entender os conceitos de ADO.NET, de inicio vamos criar no formulario apenas 3 botoes, !nserir, Excluir e Atualizar e fazer as instrucoes SOL via cdigo. Nais a frente faremos a consulta aos dados inseridos por meio do controle DataCridview, do visual Studio. Dito isto, crie 3 botoes no formulario, como mostra a imagem a seguir: Nas propriedades d os nomes, em Name, de btn!nserir, btnExcluir e btnAtualizar. Dentro do cdigo do botao !nserir, sera necessario passar a string de conexao do banco de dados. Dica: para nao ter que digitar a string na mao, abra o Server Explorer, clique com o botao direito no Database Clientes e clique em Properties. Na opcao Connection String, copie e cole a string de conexao para o parametro do SqlConnection, como a imagem nos mostra: Segue abaixo todo o cdigo comentado do botao !nserir: O cdigo foi inteiramente comentado, mais de qualquer forma vou explicar os pontos importantes. Dentro do botao !nserir coloquei um try/catch para capturar algum erro que possa acontecer. Comecei instanciando o SqlConnection, passando a ele a string de conexao, depois instanciei o SqlCommand, atribuindo a ele o SqlConnection. Depois, usei o mtodo CommandText, do SqlCommand, para fazer a instrucao SOL, s que ao invs de passar diretamente os valores dentro dele, eu passei apenas os parametros, como uma forma de seguranca dos dados. Assim minha instrucao SOL 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 parametros, que sao os parametros declarados no !NSERT e os valores em si, foram passados os valores das colunas, com excecao da coluna !D, que como Primary Key nao precisa ser passado nenhum valor. Aps isso, abro minha conexao por meio do mtodo Open, uso o ExecuteNonOuery, que perfeito para insercao no banco, ja que a mesma nao nos retorna dados(a usamos tambm para fazer Update e Delete) e fecho a conexao. Apenas para fins didaticos uma breve explicacao dos 4 tipos de execucoes que tenho no SqlCommand: ExecuteNonOuery() - executa uma instrucao que nao retorna dados, por exemplo um !NSERT ou 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 Xml Reader. Finalizando nosso cdigo, coloquei um essageBox para informar ao usuario que a insercao funcionou. Salve seu projeto e, antes de compilar, coloque um Breakpoint no comeco do cdigo, como mostra a imagem a seguir: Agora compile e teste linha a linha nosso cdigo. Se tudo foi feito como no exemplo, aparecera a mensagem dizendo que a inclusao foi realizada com sucesso. Para ter certeza, abra o Server Explorer, va ao seu Database, va na Tabela de Clientes, clique com o botao direito em cima dela e clique em Show Table Data. Devera aparecer uma tela como essa: Agora vamos codificar o botao de Excluir. Os conceitos de ADO.NET, sao praticamente os mesmos, s vai mudar a instrucao SOL. Faca o cdigo como abaixo: Como voc pode perceber, muda pouca coisa em relacao aos cdigos do botao de !nserir. Antes de rodalo, insira mais alguns dados na tabela, para que a mesma nao fique sem dados. Salve, compile e teste para ver se tudo saiu Ok. Finalizando, vamos fazer o mtodo referente ao botao Update, que tambm s sera alterado a instrucao SOL, ja que vamos atualizar os dados ja existentes. D dois cliques nele e insira o seguinte cdigo: Neste exemplo alteramos somente o Endereco, Telefone e Email, mais voc pode alterar todos os campos se assim achar necessario. 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 DataCridview em nosso projeto. Para quem se interessar, disponibilizo o cdigo fonte desse projeto aqui. L!NK: 995u5loaddearquivos.com.brdownloadadas9rodelien9es.rar Abracos. At o prximo artigo! Cudustro de Clientes em C# osundo conceitos de AO.NIT - Purte Veja Nesta Quick na 2 parte de nosso artigo, iremos trabalhar com o controle DataGridView. Cl pessoal volLo com a serle de arLlaos usando os concelLos bslcos de AuCnL1 nesLa parLe lremos cusLomlzar nosso formulrlo de CadasLro de CllenLes adlclonaremos LexLbox e usaremos o conLrole DataGr|dV|ew do vlsual SLudlo Conflram Abra seu pro[eLo no vS vamos cusLomlzar nosso formulrlo Adlclone alauns LexLboxes relaLlvos aos campos de nossa Labela de CllenLes e alLere os boLes [ exlsLenLes no form como mosLra a lmaaem abalxo !lf !vml!endlf Asslm nosso form flcar com um vlsual mals apresenLvel e lnLulLlvo Como vocs podem perceber coloquel os campos referenLes as colunas de nossa Labela com exceco da coluna lu que e Ident|ty (Lem uma conLaaem predeflnlda) e no preclsa ser lnformada uma colsa mulLo lmporLanLe sempre ao aLrlbulr nomes aos conLroles e uma boa prLlca seaulr um cerLo padro como por exemplo para Labels uso as Lrs leLras lnlclals do conLrole + o que ele represenLa ao formulrlo or exemplo no label de nome uso |b|Nome no LexLbox de nome uso txtNome e asslm por dlanLeAbalxo descrevo na ordem em que foram lnserldos no form os nomes dos conLroles usados na proprledade (Name) que sero ldenLlflcados mals Larde em nosso cdlao (por lsso a lmporLncla de nomes lnLulLlvos e fcels de serem lembrados) Labe|s lblMensaaem lblnome lblLndereco lbl8alrro lblLsLado lbl1elefone lblCelular e lblLmall 1ext8oxes LxLMensaaem LxLnome LxLLndereco LxL8alrro LxL1elefone LxLCelular e LxLLmall ombo8ox (tambm chamado de DropDownL|st) ddlLsLado 8otes bLnCravar bLnnovo e bLnverCadasLros loto Jlcos Jo tlpo Jos oomeoclototos otlllzoJos oo ctlot closses lotetfoces compos ltoptleJoJes MtoJos lotmettos e votlvels ocesse este postvolLando ao formulrlo voc pode perceber que alLerel Lambem os 3 boLes que anLes eram Inser|r Lxc|u|r e Atua||zar e que aaora passam a se chamar Gravar adastro Novo adastro e Ver adastros Cs dols prlmelros so referenLes ao prprlo cadasLro e o Lercelro lrel expllcar mals Larde Como nossos campos Lem um llmlLe de caracLeres Lemos que fazer o mesmo nos LexLboxes que recebero os dados or exemplo na coluna nome fol aLrlbuldo o valor mxlmo de 30 caracLeres ara que facamos o mesmo no txtNome devemos alLerar a proprledade MaxLength (que esL com o valor padro que e 32767) para 50 laca lsso com os demals conLroles com exceco do ombo8ox de LsLado que [ Ler os valores aLrlbuldos a ele e o usurlo s preclsar escolher um valor D|ca para no permlLlr que se[a dlalLado LexLo no Combo8ox alLere a proprledade uropuownSLvle para DropDownL|st na proprledade Items do Combo8ox cllque nos Lrs ponLlnhos ao lado e lnslra os 27 esLados brasllelros (lsso mesmo floLe na mo!) ara faclllLar llsLo abalxo os 27 esLados 01 Amazonas 02 ar 03 Mato Grosso 04 M|nas Gera|s 05 8ah|a 06 Mato Grosso do 5u| 07 Go|s 08 Maranho 09 k|o Grande do 5u| 10 1ocant|ns 11 |au| 12 5o au|o 13 kondn|a 14 kora|ma 15 aran 16 Acre 17 ear 18 Amap 19 ernambuco 20 5anta atar|na 21 ara|ba 22 k|o Grande do Norte 23 Lsp|r|to 5anto 24 k|o de Iane|ro 25 A|agoas 26 5erg|pe 27 D|str|to Iedera| embtooJo ooe se oolset voc poJe oJlclooot molto meoos estoJos s estoo oJlclooooJo toJos oo exemplo poto Jot om tom Je teollsmo oo ptojeto! Ck vamos flnalmenLe aos cdlaos u dols cllques no boLo de Cravar C cdlao usado ser praLlcamenLe o mesmo do cdlao de lnserlr felLo na parLe anLerlor de nosso arLlao laca como na lmaaem a seaulr !lf !vml !endlf Como voc pode perceber a unlca colsa que mudou em relaco ao cdlao da parLe anLerlor do arLlao fol na hora de passar os parmeLros [ que aaora no passo mals os valores no #hardcode" ou se[a dlreLo no cdlao uesLa forma e aLrlbuldo os valores dlalLados pelo usurlo no campo de LexLo e lnserldos no banco S Lome culdado pols na mlnha Labela s delxel permlLldo valor nulo nos campos Lma|| e e|u|ar Se em mals alaum desLes campos voc dlalLar um valor nulo ser dlsparado um erro em seu cdlao ara que se[a lnformado ao usurlo uma mensaaem amlavel quando lsso aconLecer faca o seaulnLe !lf !vml