Lamento dizer que esta é a abordagem errada.
Os bancos de dados têm um sistema integrado para evitar que os dados sejam duplicados. Isso é por meio de chaves primárias ou restrições de chave exclusivas. No seu caso, você já criou uma chave primária. Portanto, não há absolutamente nenhuma necessidade de você fazer isso
SELECT COUNT(*)
inquerir. Em vez disso, basta inserir diretamente na tabela e capturar o erro de integridade quando o pcode já existir.
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 também a página do manual do MySQL PRIMARY KEY e Restrições de índice ÚNICO