WinterPrison Ответов: 1

Как вставить элементы списка в базу данных MS ACCESS


У меня возникла проблема с тем, как вставить перечисленные элементы из списка в базу данных и вернуть их поздно?

Что я уже пробовал:

Это мой код вставки базы данных, как я могу вставить элементы списка?

Try
           connect()
           connection.Open()
           Dim queryString As String
           queryString = "Insert into ServiceRecords([ServiceID],[ClientName],[Contact Person],[Address],[TimeStarted],[TimeEnded],[OpDate],[FloorDrain Quantity],[FloorDrain Clogged],[FloorDrain F/R]) Values(@SeriveID,@ClientName,[@Contact Person],@Address,@TimeStarted,@TimeEnded,@OpDate,[@FloorDrain Quantity],[@FloorDrain Clogged],[@FloorDrain F/R])"
           command = New OleDbCommand(queryString, connection)
           command.Parameters.Add(New OleDbParameter("ServiceID", CType(serviceIDText.Text, String)))
           command.Parameters.Add(New OleDbParameter("ClientName", CType(clientNameText.Text, String)))
           command.Parameters.Add(New OleDbParameter("Contact Person", CType(cPersonText.Text, String)))
           command.Parameters.Add(New OleDbParameter("Address", CType(addressText.Text, String)))
           command.Parameters.Add(New OleDbParameter("TimeStarted", CType(timeStartedText.Text, String)))
           command.Parameters.Add(New OleDbParameter("TimeEnded", CType(timeEndedText.Text, String)))
           command.Parameters.Add(New OleDbParameter("OpDate", CType(datePicker.Text, Date)))
           command.Parameters.Add(New OleDbParameter("FloorDrain Quantity", CType(fldQuantityText.Text, String)))
           command.Parameters.Add(New OleDbParameter("FloorDrain Clogged", CType(fldClcbox.CheckState, Boolean)))
           command.Parameters.Add(New OleDbParameter("FloorDrain F/R", CType(fldFinRecText.Text, String)))

           MsgBox("Successfully Added!", MsgBoxStyle.Information)
           Me.Close()

           command.ExecuteNonQuery()
           displayDataToGrid()
           mainForm.serviceRecordDataGridView.Rows(mainForm.serviceRecordDataGridView.Rows.Count - 1).Selected = True
           connection.Close()


       Catch ex As Exception
           MessageBox.Show(ex.Message)
       End Try

OriginalGriff

А что вы пробовали?
Где ты застрял?
Какая помощь вам нужна?

У вас есть код, чтобы сделать это из текстовых полей, так в чем же ваша проблема с тем, чтобы сделать это из списка?

WinterPrison

я попробовал решение, и оно сработало, но вставлен только 1-й пункт. ты можешь мне помочь?

Попробуй
соединять()
соединение.Открыть()
Дим строки запроса как строку
queryString = "вставить в ServiceRecords([Personnels]) значения(@Personnels)"
command = New OleDbCommand(строка запроса, соединение)
For i As Integer = 0 To Me.ListBox1.Предметы.Количество + 1
команда.Параметры.AddWithValue("@Personnels", ListBox1.Пользования(я))
Следующий
Поймать ex как исключение

Конец Попытки

1 Ответов

Рейтинг:
0

Maciej Los

Взгляните на свой код:

MsgBox("Successfully Added!", MsgBoxStyle.Information)
Me.Close() 'HERE!!!

command.ExecuteNonQuery()

ExecuteNonQuery никогда не будет достигнуто, потому что форма закрывается первой.


WinterPrison

Мне очень жаль, но это мой первый язык кодирования, так что я мало что знаю :(, пожалуйста, помогите мне

Maciej Los

Пожалуйста, внимательно прочтите мой ответ, и вы сможете решить свою проблему.