我試圖更新使用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值.... –