Я пытаюсь проверить, вставляется ли строка в мою базу данных. Он выдает ошибку, даже когда он вставляет (это проблема с базой данных, которая будет решена позже, когда я получу более новую версию Microsoft Access), поэтому я не могу проверить, была ли вставка успешной, основываясь на том, есть ли ошибка или нет , Я думаю, что мне нужно что-то проверить в ActedRows, но я не уверен, что именно. Я искал информацию о том, как это сделать, но я не могу понять, как заставить это работать для моей конкретной ситуации. Вот общее представление о том, как выглядит мой код:
Protected Sub Wizard1_FinishButtonClick(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.WizardNavigationEventArgs) Handles Wizard1.FinishButtonClick
'code for collecting data...
'Define Connection
Dim myConn As New OleDbConnection
myConn.ConnectionString = AccessDataSource1.ConnectionString
myConn.Open()
'Insert command
Dim myIns1 As New OleDbCommand("INSERT INTO tableCourse 'long insert command here...
'Execute command and handle errors
Try
myIns1.ExecuteNonQuery()
Catch myException5 As Exception
End Try
'Close connection
myConn.Close()
-UPDATE-
Я попробовал это так:
'Execute command, handle errors, and check if row was inserted
Dim numInserted As Integer = 0
Try
numInserted = myIns1.ExecuteNonQuery()
Catch myException As Exception
Finally
If numInserted = 0 Then
Label1.Text = "Sorry, an error occured."
Else
Label1.Text = "Thank you! Your new course approval request has been submitted."
End If
End Try
Но numInserted каждый раз выходит как 0, даже если вставка прошла успешно. Это может быть связано с тем, что myIns1.ExecuteNonQuery () выдает ошибку, даже если вставка прошла успешно.
-EDIT- Я обнаружил, что ошибка "дублирующиеся значения" заключается в том, что он как-то пытается вставить запись дважды. Я понятия не имею, почему это делает это.