none
Solucionar problema de registro duplicado RRS feed

  • Pergunta

  •         Dim myCmd As New OleDb.OleDbCommand
            myCmd.Connection = cn
            myCmd.CommandText = "INSERT INTO tblUsuario (RegistroFuncional, Nome, Sobrenome, Ramal, Observacao) " & _
                                " VALUES( '" & Me.txtRFUsuario.Text & "','" & Me.txtNomeUsuario.Text & "','" & Me.txtSobrenomeUsuario.Text & "','" & Me.txtRamalUsuario.Text & "','" & Me.rtbObservacoesUsuarios.Text & "' )"

            myCmd.ExecuteNonQuery()
            If MessageBox.Show("Cadastrado do Usuario realizado com sucesso ", "Cadastro", MessageBoxButtons.OK, MessageBoxIcon.Information) = Windows.Forms.DialogResult.Yes Then
                ''LIMPAR FORMULÁRIO
                cn.Close()
                CarregaDados()
                txtRFUsuario.Clear()
                txtNomeUsuario.Clear()
                txtSobrenomeUsuario.Clear()
                txtRamalUsuario.Clear()
                rtbObservacoesUsuarios.Clear()
            Else
                MessageBox.Show("RF já cadastrado", "Cadastro", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
            End If

    Gostaria de saber, como fazer para apresentar uma mensagem pro usuário, que a chave primária que ele esta tentando cadastrar já existe no banco de dados?? Estou usando o Accesses

    sábado, 26 de abril de 2014 23:42

Respostas

  • Olá,

    O ideal seria você deixar o textbox da chave-primária inativo e com preenchimento automático, pois a chave primária é oque define que tal campo não pode se igualar à outro cadastro, assim o usuário não poderá modificar a tal chave-primária que será gerada automaticamente.

    Espero ter ajudado.

    Abraço!


    "O verdadeiro sábio, é aquele que se coloca na posição de eterno aprendiz." Sócrates

    • Marcado como Resposta Giovani Cr sexta-feira, 2 de maio de 2014 15:55
    segunda-feira, 28 de abril de 2014 21:54
  • Oi, concordo plenamente com o Paulo Lucio, de não deixar o cliente definir o campo de chave primária, mas caso mesmo assim ainda queira exibir essa mensagem, aconselho a colocar um try catch e quando o ID for duplicado o sistema lançará uma exceção e então você trata somente ela.

    Espero ter ajudado, caso tenha alguma dúvida fale comigo que tento fazer um exemplo para você ver.

    Att,

    Rodolfo Oliveira

    • Marcado como Resposta Giovani Cr sexta-feira, 2 de maio de 2014 15:55
    segunda-feira, 28 de abril de 2014 23:59

Todas as Respostas

  • Olá,

    O ideal seria você deixar o textbox da chave-primária inativo e com preenchimento automático, pois a chave primária é oque define que tal campo não pode se igualar à outro cadastro, assim o usuário não poderá modificar a tal chave-primária que será gerada automaticamente.

    Espero ter ajudado.

    Abraço!


    "O verdadeiro sábio, é aquele que se coloca na posição de eterno aprendiz." Sócrates

    • Marcado como Resposta Giovani Cr sexta-feira, 2 de maio de 2014 15:55
    segunda-feira, 28 de abril de 2014 21:54
  • Oi, concordo plenamente com o Paulo Lucio, de não deixar o cliente definir o campo de chave primária, mas caso mesmo assim ainda queira exibir essa mensagem, aconselho a colocar um try catch e quando o ID for duplicado o sistema lançará uma exceção e então você trata somente ela.

    Espero ter ajudado, caso tenha alguma dúvida fale comigo que tento fazer um exemplo para você ver.

    Att,

    Rodolfo Oliveira

    • Marcado como Resposta Giovani Cr sexta-feira, 2 de maio de 2014 15:55
    segunda-feira, 28 de abril de 2014 23:59