尝试加载组合框值一次(在登录屏幕上)vb.net

尝试加载组合框值一次(在登录屏幕上)vb.net,.net,vb.net,.net,Vb.net,我有几个组合框需要加载一次并多次显示(每当打开主窗体时),原因是每次打开窗体时,由于不必要的重新查询,要加载窗体大约需要10秒钟 下面是一个我作为组合框源代码所做的示例 我已经把查询、连接等。。。在一个模块中,并在登录表单上调用它-我没有得到任何错误,但数据不会加载到组合中 'In Module sql = "SELECT DIR_ID, DIR_NM FROM LTC_FBS_DIR ORDER BY DIR_NM ASC" RConStr = String.Format(RConStrFor

我有几个组合框需要加载一次并多次显示(每当打开主窗体时),原因是每次打开窗体时,由于不必要的重新查询,要加载窗体大约需要10秒钟

下面是一个我作为组合框源代码所做的示例

我已经把查询、连接等。。。在一个模块中,并在登录表单上调用它-我没有得到任何错误,但数据不会加载到组合中

'In Module
sql = "SELECT DIR_ID, DIR_NM FROM LTC_FBS_DIR ORDER BY DIR_NM ASC"
RConStr = String.Format(RConStrFormat, LoginForm.txtUser.Text, LoginForm.txtPass.Text)
'using instead of dim connemp
Dim connemp4 As System.Data.OleDb.OleDbConnection = New System.Data.OleDb.OleDbConnection(RConStr)
connemp4.Open()
Dim datemp4 As OleDbDataAdapter = New OleDbDataAdapter(sql, connemp4)
datemp4.Fill(ds, "Dir")


'Form Load event

Dim tbl4 As DataTable = ds.Tables("Dir")
DBS_DIRECTORComboBox.DisplayMember = "DIR_NM"
DBS_DIRECTORComboBox.ValueMember = "DIR_ID"
DBS_DIRECTORComboBox.DataSource = tbl4

你的代码看起来不错;确保数据集中有一些数据和/或尝试跳过表映射,我的意思是更改代码行

替换此行

datemp4.Fill(ds, "Dir")
datemp4.Fill(ds)
//' in Form Load event
Dim tbl4 As DataTable = ds.Tables("Dir")
Dim tbl4 As DataTable = ds.Tables(0)
使用此行

datemp4.Fill(ds, "Dir")
datemp4.Fill(ds)
//' in Form Load event
Dim tbl4 As DataTable = ds.Tables("Dir")
Dim tbl4 As DataTable = ds.Tables(0)
同时替换此行

datemp4.Fill(ds, "Dir")
datemp4.Fill(ds)
//' in Form Load event
Dim tbl4 As DataTable = ds.Tables("Dir")
Dim tbl4 As DataTable = ds.Tables(0)
用这个

datemp4.Fill(ds, "Dir")
datemp4.Fill(ds)
//' in Form Load event
Dim tbl4 As DataTable = ds.Tables("Dir")
Dim tbl4 As DataTable = ds.Tables(0)

项目是否加载一个控件而不加载其他控件,或者根本不加载任何控件?表单从何处获得对ds的引用?模块名为何处?哪些Windows表单或Web表单?你说的是asp.net吗?windows窗体,我正在调用登录窗体上的模块。我尝试了建议的,它现在正在组合框中返回一系列“System.Data.DataRowView”行。。。看起来它做得更多,但仍然不起作用。哎呀,我本想只替换这两行,但你的评论说你做得更多。不,我就是这么做的。。。但我在相应的组合框中获得了多行system.data.dataroview消息。