MS Access 데이터베이스를 사용하여 레코드를 업데이트하려고하는데 모든 레코드가 동일한 값으로 업데이트되고 있습니다 .. 동일한 수정 작업을 SQL Server에서 비트 수정 및이 코딩 작업과 함께 시도했습니다. SQL Server와 완벽하게 ... 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 수정과 SQL 서버에서 완벽하게 작동했습니다. MS 액세스에 문제가 있습니까? –
어떻게이 문제를 해결할 수 있습니까? DataGridview를 사용하여 레코드를 업데이트 중입니다. –
어떻게 datagridview의 업데이트 된 값으로 다른 필드의 datagridview 값을 업데이트 할 수 있습니까? –