Désolé de dire que ce n'est pas la bonne approche.
Les bases de données ont un système intégré pour empêcher la duplication des données. Cela passe par des clés primaires ou des contraintes de clé unique. Dans votre cas, vous avez déjà créé une clé primaire. Vous n'avez donc absolument pas besoin de le faire SELECT COUNT(*)
requête.
Au lieu de cela, insérez simplement directement dans la table et attrapez l'erreur d'intégrité lorsque le pcode existe déjà.
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
Veuillez également vous référer à la page du manuel MySQL PRIMARY KEY et Contraintes d'index UNIQUE