由于数据集不保留有关它所包含的数据来源的任何信息,因而对数据集中行所做的更改也不会自动回传到数据源,我们必须用数据适配器的Update方法来完成这项任务。对于数据集中每一个做出更改的行,Update会适当地调用数据适配器InsertCommand,DeleteCommand,UpdateCommand。

一、Update方法

Update(DataSet) 根据指定DataSet中名为Table的数据表更新数据源
Update(dataRows) 根据指定dataRows数组更新数据源
Update(DataTable) 根据指定DataTale更新数据源
Update(dataRows,DataTableMapping) 使用指定的DataTableMapping,根据指定的dataRows数组更新数据源
Update(DataSet,sourceTable) 根据DataSet的sourceTable中指定的数据表更新数据源
Fill方法使用数据适配器的SelectCommand中指定的命令把数据从数据源加载到数据集的一个或多个表中。DataAdapter对象包括:SqlDataAdapter和OleDbDataAdapter

二、Fill方法

Fill(DataSet)   创建名位Table的数据表,并用数据源返回的行填充它
Fill(DataTable) 用数据源返回的行填充指定的数据表
Fill(DataSet,tableName) 在指定的数据集里,用数据源返回的行填充名为tableName的数据表
Fill(DataTable,DataReader) 使用指定的DataReader填充数据表
Fill(DataTable,command,CommandBeheavior) 使用命令中传递的SQL字符串和指定的CommandBeheavior填充数据表
Fill(DataSet,startRecord,maxRecords,tableName) 在指定的数据集中,填充名为tableName的数据表,填充从startRecord开始,持续到maxRecords或直到结果集的末尾结束
Fill(DataSet,tableName,DataReader,startRecord,maxRecords) 在指定数据集中,使用指定的DataReader填充名为tableName的数据表,填充从startRecord开始,持续到maxRecords或直到结果集的末尾结束
Fill(DataSet,startRecord,maxRecords,tableName,command,CommandBeheavior) 在指定数据集中,使用指定的DataReader填充名为tableName的数据表,填充从startRecord开始,持续到maxRecords或直到结果集的末尾结束

OleDbDataAdapter还支持另外2种Fill方法
Fill(DataTable,adoObject) 用来自ADO记录集或来自adoObject中指定的Record对象的行填充指定的数据表
Fill(DataSet,adoObject,tableName) 用来自ADO记录集或来自adoObject中指定的Record对象的行填充指定的数据表,该数据表有tableName字符串指定,它将决定tableMappings

要点:SQL Server中的十进制数据类型最大允许38位,而.NET框架中的十进制数据类型最大允许28位。若SQL表中某一行的十进制字段超过28位,则数据行将不会被添加到数据集中,且会引发FillError。

ADO.NET的DataAdapter对象的方法相关推荐

  1. ADO.NET的几大对象详解

    第一,DataReader DataReader DataReader对象是一个简单的数据集,用于从数据源中检索只读数据集,常用于检索大量数据.DataReader对象只允许以只读.顺向的方式查看其中 ...

  2. ADO.Net五个对象

    Connection Command DataAdapter DataSet DataReader 取5个单词的首字母CCDDD,在拼音输入法里面打一下,出来5个字,然后就记忆为曹操打豆豆. 制作了一 ...

  3. DataAdapter对象

    DataAdapter对象在物理数据库表和内存数据表(结果集)之间起着桥梁的作用.它通常与DataTable对象或DataSet对象配合来实现对数据库的操作. DataAdapter对象是一个双向通道 ...

  4. C# 数据适配器之 DataAdapter 对象

    01  DataAdapter 对象概述 DataAdapter 对象是一个数据适配器对象,是DataSet 与数据源之间的桥梁.DataAdapter 对像提供了 4 个属性,用于实现与数据源之间的 ...

  5. OpenCV【零】—————cv::Mat——Mat对象创建方法

    OpenCV (一)--Mat对象创建方法 目录 OpenCV (一)--Mat对象创建方法 1. cv::Mat优点及原理(本质类) 2. Mat类拷贝及对象的创建方法 3. Mat 对象元素的高效 ...

  6. Xposed: 勾住(Hook) Android应用程序对象的方法,实现AOP

    Xposed Xposed能够勾住(Hook) Android应用程序对象的方法,实现AOP,一个简单的例子: public class WebViewHook implements IXposedH ...

  7. C#对象数组排序方法

    一个排序的类,用了几种方式实现的. using System;    namespace DataStruct {    public class Sorter    { /// <summar ...

  8. selenium提取数据之driver对象定位标签元素获取标签对象的方法

    selenium提取数据之driver对象定位标签元素获取标签对象的方法 在selenium中可以通过多种方式来定位标签,返回标签元素对象 find_element_by_id (返回一个元素) fi ...

  9. python类、对象、方法、属性之类与对象笔记

    为什么80%的码农都做不了架构师?>>>    python中一切皆为对象,所谓对象:我自己就是一个对象,我玩的电脑就是对象,坐着的椅子就是对象,家里养的小狗也是一个对象...... ...

  10. java字符串转json取集合_Java中Json字符串直接转换为对象的方法(包括多层List集合)...

    使用到的类:net.sf.json.JSONObject 使用JSON时,除了要导入JSON网站上面下载的json-lib-2.2-jdk15.jar包之外,还必须有其它几个依赖包:commons-b ...

最新文章

  1. Anaconda中安装Orange3脚本-完整版
  2. 27岁华裔小伙一战成名!搞出美国新冠最准预测模型,一人干翻专业机构,彭博:Superstar...
  3. java日志学习笔记
  4. python tkinter 实现一个秒表 从0开始_Writeathon:从0开始实现的一个side project
  5. Linux中配置bochs
  6. [JAVA]引入目录下所有jar包等问题
  7. table 标签的 rules 属性
  8. Linux shutdown关机命令
  9. Android入门(九)| 滚动控件 ListView 与 RecyclerView
  10. python新线程打开cmd_Python – 函数无法在新线程中运行
  11. linux php 语法加亮,用js函数PHP语法加亮
  12. 基于VB的员工请假管理系统设计与实现
  13. android 极光推送教程 视频教程,Android 极光推送教程
  14. 这么连接计算机网络,详细教您手机怎么连接电脑上网
  15. 拳皇重生服务器维护,《拳皇97 OL》3月10日更新维护公告
  16. Windows10 如何使用微软输入法快速输入时间(yyyy-mm-dd hh:mm:ss格式)
  17. windows7创建wlan热点分享网络
  18. 淘宝双11大数据分析(Spark 分析篇)
  19. 探秘C++之回炉重造
  20. 【本人已解决】win7和win2008R2无法安装vmtools以及安装vmtools是灰色的解决方案

热门文章

  1. 从零基础入门Tensorflow2.0 ----一、3.4 实战深度神经网络(dropout)
  2. Landsat 数据下载与预处理
  3. cesium加载无人机倾斜摄影三维模型
  4. python-excel 批量输出文件名字与打开excel文件
  5. 解决PHP不打印任何东西浏览器输出字符串
  6. JavaSE学习--内部类
  7. Okhttp之RouteSelector简单解析
  8. python列表查找整数,在数组/整数列表中查找重复项
  9. oracle字段id加1,oracle 字段ID自动增1
  10. java并发程序死锁检测_Java并发:隐藏的线程死锁