sql >> Base de Datos >  >> RDS >> Mysql

evitar entradas duplicadas en la base de datos

Lamento decir que este es el enfoque incorrecto.

Las bases de datos tienen un sistema integrado para evitar la duplicación de datos. Eso es a través de claves primarias o restricciones de clave única. En su caso, ya ha creado una clave principal. Así que no hay absolutamente ninguna necesidad de que hagas eso SELECT COUNT(*) consulta.

En su lugar, simplemente insértelo directamente en la tabla y detecte el error de integridad cuando el pcode ya exista.

Try
    cmd = New MySqlCommand("Insert into personnel values('" & pcode.Text & "','" & lname.Text & "','" & fname.Text & "','" & office.Text & "','" & designation.Text & "')")

    i = cmd.ExecuteNonQuery


    If pcode.Text <> "" Then
    ElseIf i > 0 Then
        MsgBox("Save Successfully!", MessageBoxIcon.Information, "Success")
        mrClean()
        ListView1.Tag = ""
        Call objLocker(False)
        Call LVWloader()
        Call calldaw()
    Else
        MsgBox("Save Failed!", MessageBoxIcon.Error, "Error!")
    End If
Catch ex As MySqlException
    MsgBox("Personnel ID Already Exist!", MessageBoxIcon.Error, "Error!")
End Try

Consulte también la página del manual de MySQL CLAVE PRINCIPAL y Restricciones de índice ÚNICO