暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

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

原创 郑小雯 2024-02-05
116

使用多个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"]); 

 } 

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论