Usuário com melhor resposta
MySql - Impedir o usuário de inserir o mesmo registro

Pergunta
-
Olá pessoal. Estou fazendo um programa de cadastro de clientes utilizando o MySql.
Para inserir um novo registro estou utilizando o código abaixo, mas gostaria de utilizar algo que verificasse no banco de dados se o cliente inserido já está cadastrado para impedir que o usuário inclua varias vezes o mesmo cliente.
Dim conexao As New MySqlConnection
Dim comando As New MySqlCommand
Dim adaptador As New MySqlDataAdapter
Dim DT As New DataTable
conexao.ConnectionString = "localhost; user id= root; password=1234 database=db_empresa"
conexao.Open()
comando.Connection = conexao
comando.CommandText = "INSERT INTO cliente VALUES( NULL , '" & txt_nmCliente.Text & "','" & txt_cnpjCliente.Text & "','" & txt_enderecoCliente.Text & "')"
adaptador.SelectCommand = comando
adaptador.Fill(DT)
Grade_Clientes.DataSource = DT
conexao.Dispose()
MessageBox.Show("Cliente cadastrado com sucesso!")
Pensei contar quantos registros a tabela possui com a coluna nomeCliente igual ao texto digitado no textbox correspondente e se fosse maior ou igual a um mostrar uma mensagem de erro, mas me faltou sintaxe para escrever isso! hahahaah :)
Espero que possam me ajudar, abraço!
Respostas
-
Boa tarde PH,
C# é a linguagem que eu utilizo, não tenho muita noção da sintaxe do VB. Vou tentar explicar para você:
No seu INSERT tem um campo para CNPJ certo? Como CNPJ é único você pode verificar através dele correto?
Com isto, cria um método que retorne uma lista de registros, utiliza uma cláusula WHERE para verificar o campo referente ao CNPJ.
Posteriormente, cria um método booleano. Nele coloque um 'if', vou fazer em C#:
if ("minhacoleção".Count > 0) { MessageBox.Show("Cliente já cadastrado!"); } else { //Método de cadastro. }
Qualquer dúvida retorne,
Atenciosamente,
Victor Oliveira.
- Editado Victor Myke de Oliveira quarta-feira, 27 de novembro de 2013 16:55 Melhorar o visual do código.
- Marcado como Resposta Giovani Cr sexta-feira, 6 de dezembro de 2013 18:33
Todas as Respostas
-
Boa tarde PH,
C# é a linguagem que eu utilizo, não tenho muita noção da sintaxe do VB. Vou tentar explicar para você:
No seu INSERT tem um campo para CNPJ certo? Como CNPJ é único você pode verificar através dele correto?
Com isto, cria um método que retorne uma lista de registros, utiliza uma cláusula WHERE para verificar o campo referente ao CNPJ.
Posteriormente, cria um método booleano. Nele coloque um 'if', vou fazer em C#:
if ("minhacoleção".Count > 0) { MessageBox.Show("Cliente já cadastrado!"); } else { //Método de cadastro. }
Qualquer dúvida retorne,
Atenciosamente,
Victor Oliveira.
- Editado Victor Myke de Oliveira quarta-feira, 27 de novembro de 2013 16:55 Melhorar o visual do código.
- Marcado como Resposta Giovani Cr sexta-feira, 6 de dezembro de 2013 18:33
-
Bom dia ph.faria,
A sugestão postada pelo Victor resolveu o seu problema?
Caso sim não esqueça de marcar como resposta para fechara sua Thread.
Att,
Giovani Cruzara – Microsoft Contingent Staff
Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita.
Msdn Community Support
Por favor, lembre-se de “Marcar como Resposta” as respostas que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde. -