一个 DataSet 可以与很多 GBaseDataAdapter 对象一起使用。每个GBASE南大通用数据库 GBaseDataAdapter 都可用于填充一个或多个 DataTable 对象并将更新解析回 数据源。DataRelation 对象可以在本地添加到 DataSet,这样您就可以关联来 自不同数据源的数据。一个或多个 GBASE南大通用数据库GBaseDataAdapter 对象可以处理与每个数 据源的通信。
以下代码示例使用同一数据源填充 Customers 表和 Orders 表。已填充的表 通过 DataRelation 相关联,这样,客户列表将与相应客户的订单一起显示出 来。
Customers 表定义:
CREATE TABLE Customers (
CustomerID varchar(5) NOT NULL PRIMARY KEY,
CompanyName VARCHAR(40) NOT NULL );
Orders 表定义:
CREATE TABLE Orders (
OrderID int NOT NULL PRIMARY KEY,
CustomerID VARCHAR(40) NOT NULL );
C# 示例
GBaseDataAdapter custAdapter = new GBaseDataAdapter(
“SELECT * FROM Customers”, _Connection);
GBaseDataAdapter ordAdapter = new GBaseDataAdapter (
“SELECT * FROM Orders”, _Connection);
DataSet customerOrders = new DataSet();
custAdapter.Fill(customerOrders, “Customers”);
ordAdapter.Fill(customerOrders, “Orders”);
DataRelation relation = customerOrders.Relations.Add(“CustOrders”,
customerOrders.Tables[“Customers”].Columns[“CustomerID”],
customerOrders.Tables[“Orders”].Columns[“CustomerID”]);
foreach (DataRow pRow in customerOrders.Tables[“Customers”].Rows)
{
Console.WriteLine(pRow[“CustomerID”]);
foreach (DataRow cRow in pRow.GetChildRows(relation))
Console.WriteLine(“\t” + cRow[“OrderID”]);
}
原创文章,作者:kirin,如若转载,请注明出处:https://blog.ytso.com/tech/bigdata/317770.html