我试图更新使用MS Access数据库记录,但所有记录都用得到相同values..i更新的更新与相同值的记录中的所有行试图相同的编码与位修改SQL Server和这种编码工作与SQL服务器完美... MS Access的问题是什么? 这是我的代码:的MS Access表
Try
con = New OleDbConnection(cs)
con.Open()
Dim cb As String = "update ExtraServices set [Item]=?, [Quantity]=?,[UnitPrice]=?, [TotalPrice]=? where [HostelerID]=? and [Servicedate]=?"
Dim cmd As New OleDb.OleDbCommand(cb, con)
cmd.Parameters.Add(New OleDbParameter("@item", OleDbType.VarChar, 150, "Item"))
cmd.Parameters.Add(New OleDbParameter("@quantity", OleDbType.Integer, 6, "Quantity"))
cmd.Parameters.Add(New OleDbParameter("@unitprice", OleDbType.Integer, 6, "UnitPrice"))
cmd.Parameters.Add(New OleDbParameter("@total", OleDbType.Integer, 6, "TotalPrice"))
cmd.Parameters.Add(New OleDbParameter("@hostelerID", OleDbType.VarChar, 20, "HostelerID"))
cmd.Parameters.Add(New OleDbParameter("@ServiceDate", OleDbType.Date, 30, "ServiceDate"))
' Prepare command for repeated execution
cmd.Prepare()
' Data to be inserted
For Each row As DataGridViewRow In DataGridView1.Rows
If Not row.IsNewRow Then
cmd.Parameters("@item").Value = row.Cells(0).Value
cmd.Parameters("@quantity").Value = row.Cells(1).Value
cmd.Parameters("@unitprice").Value = row.Cells(2).Value
cmd.Parameters("@total").Value = row.Cells(3).Value
cmd.Parameters("@HostelerID").Value = cmbHostelerID.Text
cmd.Parameters("@ServiceDate").Value = dtpServiceDate.Text
cmd.ExecuteNonQuery()
End If
Next
con.Close()
MessageBox.Show("Successfully updated", "Entry", MessageBoxButtons.OK, MessageBoxIcon.Information)
btnUpdate_record.Enabled = False
Catch ex As Exception
MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try
但我更新其他领域......这个查询完美地与sql服务器修改位修改..什么是MS访问错误? –
我该如何解决这个问题?我正在更新记录使用datagridview –
如何更新datagridview中更新值的其他字段的datagridview值.... –