.net 数据表具有空值
在.net 数据表具有空值,.net,database,vb.net,datatable,.net,Database,Vb.net,Datatable,在FbuildingSettings.vb上 Public camButtonDtable As DataTable Dim names = From row In FbuildingSettings.camButtonDtable.AsEnumerable() Select row.Field(Of String)("Building") Distinct For Each word In names ComboBox1.Items.Add(word) Nex
FbuildingSettings.vb上
Public camButtonDtable As DataTable
Dim names = From row In FbuildingSettings.camButtonDtable.AsEnumerable() Select row.Field(Of String)("Building") Distinct
For Each word In names
ComboBox1.Items.Add(word)
Next
然后我在Fbuilding.vb
-Form中使用了它
Public camButtonDtable As DataTable
Dim names = From row In FbuildingSettings.camButtonDtable.AsEnumerable() Select row.Field(Of String)("Building") Distinct
For Each word In names
ComboBox1.Items.Add(word)
Next
基本上我想做什么就做什么,从一列中获取每个不同的数据。所以我在FbuildingSettings.vb
Dim names = From row In camButtonDtable.AsEnumerable() Select row.Field(Of String)("Building") Distinct
For Each word In names
comboBuilding.Items.Add(word)
Next
我得到错误:
尝试此操作:Public-camButtonDtable作为新的DataTable
-它已编译,但组合框不显示任何内容。
我做错了什么?因为
您的标题与引发的异常无关
此时,问题不在于是否填充了DataTable
,而在于是否实例化了DataTable
您的数据表
未实例化
您的错误发生在:
<DataTable>.AsEnumerable()
解决方案
确保该表存在
确保表已正确初始化
最终找到了解决方案(这就是我使用的解决方案):
这应该是这样的(不是很确定):
Dim queryBtn As String=“从tblCameraButtons中选择*
FbuildingSettings.cambuttonTable=.Fill(queryBtn)
有没有可能camButtonDtable
还没有填充?我的数据库中有3个数据。当我尝试运行FbuildingSettings
时,数据表已经填充,即使我没有运行表单,但当我运行声明表单时,它会显示为null,这就是我丢失的地方。hahaIt不在乎你的数据库里有什么。如果你不从数据库中检索数据并填充数据表,那么你当然不会看到任何数据,因为数据表是空的。正如我所说,使用New
代码可以让我编译应用程序,但这并不能解决问题,尽管它是编译的,尽管我使用了另一个表单中相同的代码和原则,但组合框中没有项目。我真正感到困惑的是,camButtonDtable
是在发生此错误的表单上声明的,而不是在另一个表单上声明的。
FbuildingSettings.camButtonDtable = databaseFunctions.GetDataTable(queryBtn) 'to iniatialize data on cambtndtable
Dim queryBtn As String = "SELECT * FROM tblCameraButtons"
FbuildingSettings.camButtonDtable = <DataTable>.Fill(queryBtn)