例如: 我有三张表A、B、C 。 A为主表,a为A表的主键。B、C表中也具有a 。 我想通过查询A表获得的满足要求的a,把相关的B表中的b和C表中的c用DataGrid 显示出来。显示如: a b c 1、 X Y Z 2、 XX YY ZZ (X、Y、Z和XX、YY、ZZ都是相关的) 请问能做到吗,怎么做?如果不能用DataSet做,那还有其他方法吗? 高手们帮帮忙!!! (分不够再加)
[Visual Basic]
Dim custOrderRel As DataRelation = custDS.Relations.Add("CustOrders", _
custDS.Tables("Customers").Columns("CustomerID"), _
custDS.Tables("Orders").Columns("CustomerID"))
Dim custRow As DataRow
Dim orderRow As DataRow
For Each custRow in custDS.Tables("Customers").Rows
Console.WriteLine(custRow("CustomerID"))
For Each orderRow in custRow.GetChildRows(custOrderRel)
Console.WriteLine(orderRow("OrderID"))
Next
Next
[Visual Basic]
Dim custOrderRel As DataRelation = custDS.Relations.Add("CustOrders", _
custDS.Tables("Customers").Columns("CustomerID"), _
custDS.Tables("Orders").Columns("CustomerID"))
Dim orderDetailRel As DataRelation = custDS.Relations.Add("OrderDetail", _
custDS.Tables("Orders").Columns("OrderID"), _
custDS.Tables("OrderDetails").Columns("OrderID"), false)
Dim orderProductRel As DataRelation = custDS.Relations.Add("OrderProducts", _
custDS.Tables("Products").Columns("ProductID"), _
custDS.Tables("OrderDetails").Columns("ProductID"))
Dim custRow, orderRow, detailRow As DataRow
For Each custRow In custDS.Tables("Customers").Rows
Console.WriteLine("Customer ID:" & custRow("CustomerID").ToString())
For Each orderRow In custRow.GetChildRows(custOrderRel)
Console.WriteLine(" Order ID: " & orderRow("OrderID").ToString())
Console.WriteLine(vbTab & "Order Date: " & orderRow("OrderDate").ToString())
For Each detailRow In orderRow.GetChildRows(orderDetailRel)
Console.WriteLine(vbTab & " Product: " & detailRow.GetParentRow(orderProductRel)("ProductName").ToString())
Console.WriteLine(vbTab & " Quantity: " & detailRow("Quantity").ToString())
Next
Next
Next