Vb.net 从三个表中读取数据集并将所选行放入printReport(ds)函数
获取这三个数据集并将其放入一个数据集中以用于printReport(ds)函数的正确方法是什么?我的数据集做得不对吗?我只需要使用一个吗?我应该如何着手修复此代码Vb.net 从三个表中读取数据集并将所选行放入printReport(ds)函数,vb.net,ado.net,Vb.net,Ado.net,获取这三个数据集并将其放入一个数据集中以用于printReport(ds)函数的正确方法是什么?我的数据集做得不对吗?我只需要使用一个吗?我应该如何着手修复此代码 Private Sub cmdPrint_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdPrint.Click Dim cmd As New SqlCommand("Select CustomerName, ShipA
Private Sub cmdPrint_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdPrint.Click
Dim cmd As New SqlCommand("Select CustomerName, ShipAddress1, ShipAddress2, ShipCity, ShipToState, ShipToZip FROM Customers Where CustomerID = @CustomerID", con)
cmd.Parameters.Add("@CustomerID", SqlDbType.VarChar).Value = cboCustomer.Text
Dim cmd1 As New SqlCommand("Select * from LineTable where ID = @ID", con)
cmd1.Parameters.Add("@ID", SqlDbType.Int).Value = NextID
Dim cmd2 As New SqlCommand("Select * FROM HeaderTable where ID = @ID", con)
cmd2.Parameters.Add("@ID", SqlDbType.Int).Value = NextID
Dim ds As New DataSet()
Dim adap As New SqlDataAdapter(cmd)
Dim adap1 As New SqlDataAdapter(cmd1)
Dim adap2 As New SqlDataAdapter(cmd2)
If con.State = ConnectionState.Closed Then con.Open()
adap.Fill(ds, "Customers")
adap1.Fill(ds, "LineTable")
adap2.Fill(ds, "HeaderTable")
con.Close()
PrintReport(ds)
end sub
Private Sub printReport(ByVal ds As DataSet)
Dim newprintReport As New PrintReport(ds)
newprintReport.ShowDialog()
End Sub
每个查询都不需要自己的数据集—与名称相反,数据集包含的是数据表,而不是数据—因此一个数据集包含三个表听起来就像您正在尝试的那样ask@Plutonix所以我对我的示例的新编辑应该有效吗?@puropoix我尝试了这个,数据集只接收客户数据表,另外两个表示我出错,因为对象引用未设置为对象的实例