Mi dispiace dire che questo è l'approccio sbagliato.
I database hanno un sistema integrato per impedire la duplicazione dei dati. Ciò avviene tramite chiavi primarie o vincoli di chiave univoci. Nel tuo caso, hai già creato una chiave primaria. Quindi non è assolutamente necessario che tu lo faccia SELECT COUNT(*)
interrogazione.
Invece, basta inserire direttamente nella tabella e catturare l'errore di integrità quando il pcode esiste già.
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
Fare riferimento anche alla pagina del manuale MySQL CHIAVE PRIMARIA e Vincoli di indice UNICI