Ledsen att säga att detta är fel tillvägagångssätt.
Databaser har ett inbyggt system för att förhindra att data dupliceras. Det är genom primärnycklar eller unika nyckelbegränsningar. I ditt fall har du redan skapat en primärnyckel. Så du behöver absolut inte göra det SELECT COUNT(*)
fråga.
Istället sätter du bara in direkt i tabellen och fångar integritetsfelet när p-koden redan finns.
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
Se även MySQL-manualsidan PRIMÄRNYCKEL och UNIKA indexbegränsningar