对于dataAdapter与dataSet和dataTable的填充,可以分为1对1,1对n,n对n,3种情况。

以SqlDataAdapter为例。

//(1)1对1
SqlDataAdapter da=new SqlDataAdapter("SqlString",SqlConnection);
da.fill(dataset,"tableName");
//(2)1对n
SqlDataAdapter da=new SqlDataAdapter("SqlString1",SqlConnection);
da.fill(dataset1,"tableName1");
//这里重新填充sql语句,填充对象可以使多个dataSet和dataTable。
da=new SqlDataAdapter("SqlString2",SqlConnection);
da.fill(dataset2,"tableName2");
//其他的情况类似,可以依次类推到第n张表或数据集。
//(3)n对n
SqlDataAdapter da1=new SqlDataAdapter("SqlString1",SqlConnection);
da1.fill(dataset1,"tableName1");
//这里重新填充sql语句,填充对象可以使多个dataSet和dataTable。
SqlDataAdapter da2=new SqlDataAdapter("SqlString2",SqlConnection);
da2.fill(dataset2,"tableName2");  

  

//数据库查询    DataSet 添加多张DateTable
SqlDataAdapter custAdapter = new SqlDataAdapter("SELECT * FROM dbo.Customers", customerConnection);
OleDbDataAdapter ordAdapter = new OleDbDataAdapter("SELECT * FROM Orders", orderConnection);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"]);
}
//---------------------------

  

参考:

1.  lllljz的专栏    dataAdapter与dataSet和dataTable的填充

2. https://msdn.microsoft.com/zh-cn/library/bh8kx08z.aspx

转载于:https://www.cnblogs.com/wangfuyou/p/5259103.html

dataAdapter与dataSet和dataTable的填充相关推荐

  1. Winform开发之ADO.NET对象Connection、Command、DataReader、DataAdapter、DataSet和DataTable简介...

    ADO.NET技术主要包括Connection.Command.DataReader.DataAdapter.DataSet和DataTable等6个对象,下面对这6个对象进行简单的介绍: (1)Co ...

  2. 【ADO.NET基础知识】SqlConnection、command、DataSet 、DataTable、dataAdapter

    1.使用Connection连接数据库的步骤: (1).添加命名空间 System.Data.SqlClient(注意:初学者经常会忘记) (2)定义连接字符串.连接SQL Server 数据库时: ...

  3. .Net 中DataSet和DataTable的 区别与联系

    1.简要说明二者关系 在我们编写代码的时候从数据库里取出数据,填充到dataset里,再根据表的名字,实例化到 datatable 中.其实使用 dataset 相当于所使用数据库中数据的副本,保存在 ...

  4. 使用dataadapter和dataset更新数据库

    DataAdapter   的 Update 方法可调用来将 DataSet 中的更改解析回数据源.与 Fill 方法类似,Update 方法将 DataSet 的实例和可选的 DataTable 对 ...

  5. C#-DataSet和DataTable详解

    1.创建DataSet对象: DataSet ds = new DataSet("DataSetName"); 2.查看调用SqlDataAdapter.Fill创建的结构 da. ...

  6. DataSet和DataTable详解

    1.创建DataSet对象: DataSet ds = new DataSet("DataSetName"); 2.查看调用SqlDataAdapter.Fill创建的结构 da. ...

  7. C# DataSet和DataTable详解

    1.创建DataSet对象: DataSet ds = new DataSet("DataSetName"); 2.查看调用SqlDataAdapter.Fill创建的结构 da. ...

  8. C# DataSet与DataTable的区别和用法

    DataSet是数据集,DataTable是数据表,DataSet存储多个DataTable.DataSet和DataTable像是专门存储数据的一个容器,在你查询数据库得到一些结果时可以存在里面. ...

  9. C#中的DataSet添加DataTable问题

    最近在使用DataTable来给前台控件绑定数据,开始时查了网上的一些给DataSet添加DataTable时需要注意的地方,一般都要添加表名并且使用DataTable.Copy()方法,否则会报错, ...

最新文章

  1. 白春礼:探究物质世界奥秘的一把金钥匙——纪念元素周期表发表150周年
  2. 疑难杂症--单回话下 WITH(NOLOCK)返回更多数据
  3. IPSec 之 Server2003Cisco路由器(1)
  4. 【 FPGA 】超声波测距小实验(一)
  5. python 日志不会按照日期分割_python实现日志按天分割
  6. mysql边备份边导入么_MySQL 怎么导入导出操作
  7. win10修改时间同步服务器,解决win10时间服务器同步问题|重置win10时间服务配置...
  8. linux 挂iscisc存储,基于arm的嵌入式linux操作系统的移植研究-通信与信息系统专业论文.docx...
  9. c语言自动突破,为你解决c语言源代码【突破方案】
  10. 《机器学习系统设计:Python语言实现》一2.2 IPython控制台
  11. 虚拟机(VMware)中windows2003系统服务器的IE无法打开搜索网页
  12. html 点击按钮刷新验证码,HTML点击刷新验证码
  13. TalkingData的使用,iOS数据统计
  14. 面试高频智力题 100层楼两个鸡蛋找出临界点的最多次数 (直接分析法,非动态规划思路)
  15. Pycharm 编辑器文本中间出现有一条分割线
  16. 风机疲劳载荷谱转SACS疲劳载荷定义文件
  17. opencv canny源码解析_行人检测 基于 OpenCV 的人体检测
  18. 爬虫爬取站长素材图片 (使用scrapy和imagespipeline)
  19. Banner(轮播)
  20. 国内安卓统一推送通道

热门文章

  1. spring+quartz实现定时调度
  2. [深度学习-原理]BP神经网络
  3. [论文阅读][深度学习-三维重建]Single-Shot 3D Shape Reconstruction Using Structured Light and CNN
  4. 吴恩达深度学习 —— 2.11 向量化
  5. C++/C--内存的四驱模型
  6. r软件 image画出来的图是颠倒的_如何用Python抠图?试试scikitimage
  7. java构建工具 gradle_Java构建工具
  8. php简单论坛登录注册,php简单登录注册验证
  9. php swoole hyperf,【php】Hyperf为什么要关闭Swoole协程短名称
  10. 1708硬盘转接口_ICY DOCK全球首款U.2转USB转接器震撼上市