使用多个GBASE南大通用DataAdapter 填充 DataSet

发布时间:2023年12月20日

一个 DataSet 可以与很多GBASE南大通用DataAdapter 对象一起使用。每个GBASE南大通用DataAdapter 都可用于填充一个或多个 DataTable 对象并将更新解析回数据源。DataRelation 对象可以在本地添加到 DataSet,这样您就可以关联来自不同数据源的数据。一个或多个?GBASE南大通用DataAdapter 对象可以处理与每个数据源的通信。

以下代码示例使用同一数据源填充 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"]);

}

文章来源:https://blog.csdn.net/weixin_47390342/article/details/135106534
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。