Это мой код, который сначала вставляет данные в datagridview, а затем в базу данных.Как вставить дату в SQL Server с помощью vb.net
Когда я запускаю код, я получаю ошибку
операнд типа столкновения бит несовместим с датой
Может кто-нибудь мне помочь?
Заранее спасибо
populate(txtRejectID.Text, comboBoxCardType.Text, txtEmbossName.Text, txt6CardNum.Text, txt4CardNum.Text, txtQuantity.Text, comboBoxErrorDesc.Text, embossDate.Text, txtStatus.Text)
For Each row As DataGridViewRow In DataGridView1.Rows
Dim query As String = "INSERT INTO dbo.RejectCard VALUES (@RejectID, @Card_Type, @Emboss_Name, @Card_Number, @Quantity, @Error_Description, @Emboss_Date, @Status)"
Using conn As New SqlConnection(connString)
Using cmd As New SqlCommand(query, conn)
cmd.Parameters.AddWithValue("@RejectID", row.Cells("rejectid").Value)
cmd.Parameters.AddWithValue("@Card_Type", row.Cells("cardtype").Value)
cmd.Parameters.AddWithValue("@Emboss_Name", row.Cells("embossname").Value)
cmd.Parameters.AddWithValue("@Card_Number", row.Cells("cardnumber").Value)
cmd.Parameters.AddWithValue("@Quantity", row.Cells("quantity").Value)
cmd.Parameters.AddWithValue("@Error_Description", row.Cells("errordescription").Value)
cmd.Parameters.AddWithValue("@Emboss_Date", row.Cells("emboss_Date").Value = embossDate.Value.Date.ToString("dd/MM/yyyy"))
cmd.Parameters.AddWithValue("@Status", row.Cells("status").Value)
Try
conn.Open()
cmd.Connection = conn
cmd.ExecuteNonQuery()
Catch ex As Exception
MessageBox.Show("Error while inserting record on table..." & ex.Message, "Insert Records")
Finally
conn.Close()
End Try
End Using
End Using
Next
MessageBox.Show("Records inserted.")
End Sub
сделать список столбцов в Insert, который ссылается на список значений, в том же порядке, что и значения. Это лучшая практика, хотя ... –
Там так много неправильно, что я изо всех сил пытаюсь понять, с чего начать. Зачем вам создавать новое соединение для каждой записи? Вы даже не должны создавать новую команду для каждой записи. Если вы решили вызвать 'ExecuteNonQuery', тогда вы должны создать одно соединение и одну команду, добавив все пареметры, открыв соединение и THEN, начиная цикл. В цикле вы устанавливаете значение «Значение» для каждого параметра и затем выполняете вызов. Еще лучше, просто создайте «DataTable» и привяжите его к сетке, затем сохраните лот с помощью одного вызова «Update». – jmcilhinney
Спасибо за комментарий. Я отсылаю свое кодирование здесь и там, а затем реализую его в своем проекте. Я улучшу свои навыки кодирования. благодаря –