У меня есть диалог с выпадающим списком, в котором указаны годы проведения мероприятия.Изменяя год, изменяются следующие списки. В одном списке, называемом inEvent, отображаются все игроки в гольф, которые посетили указанное событие.Другое окно со списком, которое называется «доступно», отображает каждого игрока в нашей базе данных, который не посещал событие этого года
. Оно имеет две кнопки.Один удаляет игроков из «inEvent» и перемещает их в «доступные».Эта кнопка работает.Другая кнопка делает противоположное.Он добавляет доступных игроков в гольф к выбранному году проведения.Но это выдает мне ошибку: «Оператор завершен. Невозможно вставить значение NULL в столбец 'intGolferEventYearID', таблица 'dbo.TGolferEventYears'; столбец не допускает нулевые значения. INSERT завершается ошибкой."
Изменение любогоСтрока кода в VB приводит к другой ошибке.Так что я думаю, что ошибка должна исходить от самого SQL, о котором я мало что знаю.Единственное, о чем я могу думать, это о том, что список дает неверную информацию.
Private Sub btnAddAuto_Click(sender As Object, e As EventArgs) Handles btnAddAuto.Click
Dim strInsert As String = ""
Dim cmdInsert As OleDb.OleDbCommand ' used for our Select statement
Dim dt As DataTable = New DataTable ' table we will load from our reader
Dim intRowsAffected As Integer
' open the DB
OpenDatabaseConnectionSQLServer()
' Build the select statement
strInsert = "INSERT INTO TGolferEventYears ( intGolferID, intEventYearID) Values (" & lstAvailable.SelectedValue & ", " & cboEvents.SelectedIndex + 1 & ")"
' Retrieve all the records
cmdInsert = New OleDb.OleDbCommand(strInsert, m_conAdministrator)
intRowsAffected = cmdInsert.ExecuteNonQuery()
' close the database connection and reload the form so the changes are shown
CloseDatabaseConnection()
frmEventsGolfers_Load(sender, e)
End Sub