gpt4 book ai didi

database - 重新加载 Datagrid View 不返回任何内容

转载 作者:搜寻专家 更新时间:2023-10-30 23:37:07 24 4
gpt4 key购买 nike

我有一个将数据从 Microsoft Access 数据库加载到 DGV 的函数,如下面的代码所示:

Public Sub LoaddgvCombined()  
Try
'//Clear DataGrid
ds.Clear()
dgvSales.DataSource = Nothing
'dgvSales.Refresh()
dgvSales.DataSource = ds

'//Establish Connection to DB
con.ConnectionString = dbProvider & dbSource
tables = ds.Tables
con.Open()

sql = "SELECT * FROM [tblINV_SalesRecord] WHERE CDate(adddate & ' ' &addtime) < CDate('" & selectfrm & "')) ORDER BY temID ASC"

da = New OleDb.OleDbDataAdapter(sql, con)
da.Fill(ds, "tblINV_SalesRecord")
con.Close()

Dim view As New DataView(tables(0))
source1.DataSource = view
dgvSales.DataSource = view
dgvSales.AllowUserToAddRows = False

If dgvSales.RowCount < 1 Then
MessageBox.Show("No Sales Recorded Found From " & selectfrm)
End If

Catch ex As Exception
MessageBox.Show(ex.Message & " - " & ex.Source)
MessageBox.Show("An Error Occured While Loading Sales Record ")
End Try
End Sub

第一次工作正常,但是当我第二次调用该函数时,它清空了 DGV,但这次它没有加载任何数据。

谁能指出我做错了什么。

最佳答案

我在这里注意到的是,您正在传递给 tables BEFORE,您正在获取查询结果。

尝试在填充 ds 后传递 tables 的值。

像这样:

da = New OleDb.OleDbDataAdapter(sql, con)
da.Fill(ds, "tblINV_SalesRecord")
con.Close()
tables = ds.Tables '<=== transfer it here

它显示为空,因为在您传递给 tables 时,您的 ds 变量尚未从您的查询中填充。

关于database - 重新加载 Datagrid View 不返回任何内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40714424/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com