Vb.net Net将表添加到数据集并将其发送到其他表单
我有一个从SQLServer数据库加载cars数据的应用程序,如下所示Vb.net Net将表添加到数据集并将其发送到其他表单,vb.net,forms,dataset,add,Vb.net,Forms,Dataset,Add,我有一个从SQLServer数据库加载cars数据的应用程序,如下所示 sql = " select car.*, (model + ' -- ' + plateNo) as selectCar from car" daAdapter = New SqlDataAdapter(sql, sqlConn) daAdapter.Fill(dsDataset, "car") 因此,数据如下所示: 然后,我创建了一个数据表来获取品牌的不同价值,而不是从数据库中加载品牌的不同价值。然后将其添加到数据集
sql = " select car.*, (model + ' -- ' + plateNo) as selectCar from car"
daAdapter = New SqlDataAdapter(sql, sqlConn)
daAdapter.Fill(dsDataset, "car")
因此,数据如下所示:
然后,我创建了一个数据表来获取品牌的不同价值,而不是从数据库中加载品牌的不同价值。然后将其添加到数据集中,如下所示:
tblBrand = New DataTabl
tblBrand = dsDataset.Tables("car").DefaultView.ToTable(True, "brand")
tblBrand.TableName = "brand"
dsDataset.Tables.Add(tblBrand)
实际上,我使用这个品牌表来显示品牌组合BX中的过滤器选项,没有任何问题
我需要的是,当我按下“添加”按钮时,我转到另一个表单,我想在另一个表单中使用此品牌选项。因此,当我单击“添加”按钮时,我有以下代码:
Dim newCar As New frmCar(dsDataset)
carMode = "new"
newCar.ShowDialog()
我以frmCar格式创建了一个构造函数,如下所示:
Sub New(ByVal dsOptions)
InitializeComponent()
Try
cmbBrand.DataSource = dsOptions.table("brand")
cmbBrand.DisplayMember = "brand"
cmbBrand.ValueMember = "brand"
Catch ex As Exception
MsgBox(Err.Description)
End Try
End Sub
但会弹出以下错误:
Public member 'table' on type 'DataSet' not found.
我的代码出了什么问题?您应该做的第一件事是同时打开
。这将防止您在将来犯此类错误
这个错误是完全可以自我解释的。数据集
没有名为表
的公共成员(属性、方法等)
你所要做的就是改变:
Sub New(ByVal dsOptions)
cmbBrand.DataSource = dsOptions.table("brand")
致:
此外,Intellisense应该显示代码中的错误,并能够提供更正。不神秘。好吧,这真的解决了问题。谢谢你,罗杰先生。
Sub New(ByVal dsOptions As DataSet)
cmbBrand.DataSource = dsOptions.Tables("brand")