我正在尝试使用SqlDataAdapter更新数据库,但我的代码似乎无法工作:
Dim sitedb As String = BookingApp.Globals.siteDB
Dim conn As New SqlConnection(sitedb)
Dim sql As String = "select * from name where BOOKING_REF = 'H2124'"
Dim cmd As SqlCommand
Dim da As SqlDataAdapter
Dim cb As SqlCommandBuilder
Dim dt As New DataTable
Dim c As Integer
cmd = New SqlCommand(sql, conn)
da = New SqlDataAdapter(cmd)
cb = New SqlCommandBuilder(da)
da.Fill(dt)
For c = 0 To dt.Rows.Count - 1
dt.Rows(c)!OVLREF3 = c
dt.AcceptChanges()
Next
da.Update(dt)据我所知,代码看起来还不错,有人有什么建议吗?
谢谢
发布于 2013-07-22 21:01:42
删除dt.AcceptChanges,它应该可以正常工作。
AcceptChanges会将RowState更改为Unchanged,这会导致DataAdapter什么也不做。在更新之后,DataAdapter本身会隐式调用AcceptChanges。
https://stackoverflow.com/questions/17788247
复制相似问题