Xin lỗi khi nói rằng đây là cách tiếp cận sai.
Cơ sở dữ liệu được tích hợp sẵn hệ thống để ngăn dữ liệu bị trùng lặp. Đó là thông qua các khóa chính hoặc các ràng buộc khóa duy nhất. Trong trường hợp của bạn, bạn đã tạo khóa chính. Vì vậy, bạn hoàn toàn không cần phải làm điều đó SELECT COUNT(*)
truy vấn.
Thay vào đó, chỉ cần chèn trực tiếp vào bảng và bắt lỗi toàn vẹn khi pcode đã tồn tại.
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
Vui lòng tham khảo Trang hướng dẫn sử dụng MySQL KEY CHÍNH và Ràng buộc chỉ mục DUY NHẤT