Vb.net 更新数据库后刷新Datagridview
我正在更新表单中的数据库,并再次加载datagridview,但datagridview没有更新。我的代码如下 这是“我的销售输入表单”中的代码,其中,如果项目已售出,则数量应减少,但保存销售后,网格中的库存不会更新Vb.net 更新数据库后刷新Datagridview,vb.net,datagridview,Vb.net,Datagridview,我正在更新表单中的数据库,并再次加载datagridview,但datagridview没有更新。我的代码如下 这是“我的销售输入表单”中的代码,其中,如果项目已售出,则数量应减少,但保存销售后,网格中的库存不会更新 Private Sub loadallitembtch() dgvsearchitem.ScrollBars = ScrollBars.Vertical On Error Resume Next con = New OleDbConnection(conn
Private Sub loadallitembtch()
dgvsearchitem.ScrollBars = ScrollBars.Vertical
On Error Resume Next
con = New OleDbConnection(connectionString)
con.Open()
Dim ds As DataSet = New DataSet
Dim adapter As New OleDb.OleDbDataAdapter
sqlstr &= " Select "
sqlstr &= " im.iname & ' ' & MfgComTab.comname as [Item], "
sqlstr &= " imd.batch As Batch, "
sqlstr &= " imd.pscheme As [P Scheme], "
sqlstr &= " imd.sscheme As [S Scheme], "
sqlstr &= " ROUND(Sum(IIF(txm.ttype = 'S', -txd.iqty, IIF(txm.ttype = 'P', txd.iqty * "
sqlstr &= " im.unitratio, IIF(txm.ttype = 'SR', txd.iqty, IIF(txm.ttype = 'PR', "
sqlstr &= " -txd.iqty * im.unitratio, IIF(txm.ttype = 'OP', txd.iqty * im.unitratio, "
sqlstr &= " 0)))))), 2) As [Stock], "
sqlstr &= " Unit.unitname As Units, "
sqlstr &= " imd.itemid, "
sqlstr &= " im.stax as [Tax], "
sqlstr &= " imd.prate / im.unitratio As [P Rate], "
sqlstr &= " imd.srate / im.unitratio As [Rate] "
sqlstr &= " From "
sqlstr &= " (((([Transaction_Details] As txd Inner Join "
sqlstr &= " [Transaction_Mas_Tab] As txm On txd.txid = txm.txid) Inner Join "
sqlstr &= " IMasterDetails As imd On txd.itemid = imd.itemid) Inner Join "
sqlstr &= " Imaster As im On imd.icode = im.icode) Inner Join "
sqlstr &= " Unit On Unit.unitcode = im.sunit) Inner Join "
sqlstr &= " MfgComTab On im.mccode = MfgComTab.mccode "
sqlstr &= " Where "
sqlstr &= " txm.billdate Between @date1 And @date2 And "
sqlstr &= " txm.isdeleted = 'N' And "
sqlstr &= " im.comcode = @comcode "
sqlstr &= " Group By "
sqlstr &= " im.iname, imd.batch, imd.pscheme, imd.sscheme, Unit.unitname, imd.itemid, "
sqlstr &= " im.stax, imd.prate / im.unitratio, imd.srate / im.unitratio, im.catcode, "
sqlstr &= " im.scatcode, MfgComTab.comname "
sqlstr &= " Order By im.iname ASC "
adapter.SelectCommand = New OleDb.OleDbCommand(sqlstr, con)
adapter.SelectCommand.Parameters.AddWithValue("@date1", globals.fedate)
adapter.SelectCommand.Parameters.AddWithValue("@date2", globals.fsdate)
adapter.SelectCommand.Parameters.AddWithValue("@comcode", compcode)
adapter.Fill(ds)
dgvibatch.Refresh()
If ds.Tables(0).Rows.Count > 0 Then
dgvibatch.DataSource = ds.Tables(0).DefaultView
dgvibatch.Columns("itemid").Visible = False
dgvibatch.Columns("P Scheme").Visible = False
dgvibatch.Columns("S Scheme").Visible = False
dgvibatch.Columns("P Rate").Visible = False
dgvibatch.Columns("units").Visible = False
dgvibatch.Columns("Item").Width = 150
dgvibatch.Columns("Rate").Width = 50
dgvibatch.Columns("Tax").Width = 50
dgvibatch.Columns("Stock").Width = 50
Else
ds.Dispose()
End If
con.Close()
摆脱“错误时继续下一步”并修复任何错误,而不是试图忽略它们尝试无错误地继续下一步但不获得任何错误他建议,这样您的代码就符合最佳实践,它不打算刷新DataGridView可能记录根本没有插入/更新到数据库中/数据库上,并且刷新实际上工作正常?数据库正在更新,当我关闭表单并重新打开它时,datalagridview将加载更新的数据。