dataAdapter与dataSet和dataTable的填充
对于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的填充相关推荐
- Winform开发之ADO.NET对象Connection、Command、DataReader、DataAdapter、DataSet和DataTable简介...
ADO.NET技术主要包括Connection.Command.DataReader.DataAdapter.DataSet和DataTable等6个对象,下面对这6个对象进行简单的介绍: (1)Co ...
- 【ADO.NET基础知识】SqlConnection、command、DataSet 、DataTable、dataAdapter
1.使用Connection连接数据库的步骤: (1).添加命名空间 System.Data.SqlClient(注意:初学者经常会忘记) (2)定义连接字符串.连接SQL Server 数据库时: ...
- .Net 中DataSet和DataTable的 区别与联系
1.简要说明二者关系 在我们编写代码的时候从数据库里取出数据,填充到dataset里,再根据表的名字,实例化到 datatable 中.其实使用 dataset 相当于所使用数据库中数据的副本,保存在 ...
- 使用dataadapter和dataset更新数据库
DataAdapter 的 Update 方法可调用来将 DataSet 中的更改解析回数据源.与 Fill 方法类似,Update 方法将 DataSet 的实例和可选的 DataTable 对 ...
- C#-DataSet和DataTable详解
1.创建DataSet对象: DataSet ds = new DataSet("DataSetName"); 2.查看调用SqlDataAdapter.Fill创建的结构 da. ...
- DataSet和DataTable详解
1.创建DataSet对象: DataSet ds = new DataSet("DataSetName"); 2.查看调用SqlDataAdapter.Fill创建的结构 da. ...
- C# DataSet和DataTable详解
1.创建DataSet对象: DataSet ds = new DataSet("DataSetName"); 2.查看调用SqlDataAdapter.Fill创建的结构 da. ...
- C# DataSet与DataTable的区别和用法
DataSet是数据集,DataTable是数据表,DataSet存储多个DataTable.DataSet和DataTable像是专门存储数据的一个容器,在你查询数据库得到一些结果时可以存在里面. ...
- C#中的DataSet添加DataTable问题
最近在使用DataTable来给前台控件绑定数据,开始时查了网上的一些给DataSet添加DataTable时需要注意的地方,一般都要添加表名并且使用DataTable.Copy()方法,否则会报错, ...
最新文章
- 白春礼:探究物质世界奥秘的一把金钥匙——纪念元素周期表发表150周年
- 疑难杂症--单回话下 WITH(NOLOCK)返回更多数据
- IPSec 之 Server2003Cisco路由器(1)
- 【 FPGA 】超声波测距小实验(一)
- python 日志不会按照日期分割_python实现日志按天分割
- mysql边备份边导入么_MySQL 怎么导入导出操作
- win10修改时间同步服务器,解决win10时间服务器同步问题|重置win10时间服务配置...
- linux 挂iscisc存储,基于arm的嵌入式linux操作系统的移植研究-通信与信息系统专业论文.docx...
- c语言自动突破,为你解决c语言源代码【突破方案】
- 《机器学习系统设计:Python语言实现》一2.2 IPython控制台
- 虚拟机(VMware)中windows2003系统服务器的IE无法打开搜索网页
- html 点击按钮刷新验证码,HTML点击刷新验证码
- TalkingData的使用,iOS数据统计
- 面试高频智力题 100层楼两个鸡蛋找出临界点的最多次数 (直接分析法,非动态规划思路)
- Pycharm 编辑器文本中间出现有一条分割线
- 风机疲劳载荷谱转SACS疲劳载荷定义文件
- opencv canny源码解析_行人检测 基于 OpenCV 的人体检测
- 爬虫爬取站长素材图片 (使用scrapy和imagespipeline)
- Banner(轮播)
- 国内安卓统一推送通道
热门文章
- spring+quartz实现定时调度
- [深度学习-原理]BP神经网络
- [论文阅读][深度学习-三维重建]Single-Shot 3D Shape Reconstruction Using Structured Light and CNN
- 吴恩达深度学习 —— 2.11 向量化
- C++/C--内存的四驱模型
- r软件 image画出来的图是颠倒的_如何用Python抠图?试试scikitimage
- java构建工具 gradle_Java构建工具
- php简单论坛登录注册,php简单登录注册验证
- php swoole hyperf,【php】Hyperf为什么要关闭Swoole协程短名称
- 1708硬盘转接口_ICY DOCK全球首款U.2转USB转接器震撼上市