none
MySql - Impedir o usuário de inserir o mesmo registro RRS feed

  • 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!

    quarta-feira, 27 de novembro de 2013 15:22

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
    quarta-feira, 27 de novembro de 2013 16:53

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
    quarta-feira, 27 de novembro de 2013 16:53
  • 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.

    sexta-feira, 6 de dezembro de 2013 18:11
  • Olá Victor!
    Muito obrigado pela ajuda, acho que essa ideia vai funcionar!
    Abraço!
    segunda-feira, 9 de dezembro de 2013 11:09