使用多个GBASE南大通用数据库GBaseDataAdapter 填充 DataSet

一个 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

(0)
上一篇 1天前
下一篇 1天前

相关推荐

发表回复

登录后才能评论