Как предотвратить дублирование записи в базу данных vb.net
У меня есть vb.net приложение с базой данных OLeDb,
Вот мой код для предотвращения повторного ввода "ID" в базу данных, идентификатор не является первичным ключом.
Но он показывает msg - "уже существует" для каждой записи и не сохраняет ни одной записи в базе данных.
Так что же делать?
Dim cmd As New OleDbCommand Dim con As New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\Satyam\Documents\Pathology.accdb") Dim queryResult As Integer Dim sqlQRY As String = "SELECT COUNT(*) AS FROM ESRRegister WHERE ID = '" & IDtxt.Text & "'" con.Open() cmd.Connection = con cmd.CommandType = CommandType.Text If queryResult > 0 Then cmd.CommandText = "insert into ESRRegister (Dt,ID)VALUES ('" & Dttxt.Text & "' , '" & IDtxt.Text & "')" queryResult = cmd.ExecuteScalar() MsgBox("Added Successfuly") Else MessageBox.Show("Already Exists!", "ALI ENTERPRISES", MessageBoxButtons.OK, MessageBoxIcon.Information) End If
[no name]
На самом деле вы не проверяете, существует ли идентификатор в вашей базе данных в вашей атаке SQL-инъекции, ожидающей выполнения запроса. На самом деле вам придется выполнить этот запрос в какой-то момент времени.