先列个列表,下面的就是常用的数据库操作的方法。

ExecuteNonQuery

释义:对链接执行的SQL语句,并返回受影响的行数(注意:用它来执行目录操作,如查询数据库的结构,创建表等数据库对象,或通过之星U,I,D语句,返回的是其影响到的行数。其他情况下返回值是-1.因为其影响到的数据库内容的行数就是-1)

ExecuteReader

释义:将CommandText属性发送到Connection对象并生成一个SqlDataReader、OdbcDataReader、OleDbDataReader或OracleDataReader结果集。

语法:

public SqlDataReader ExecuteReader();
public SqlDataReader ExecuteReader(CommandBehavior behavior);
//CommandBehavior是一个枚举值,如下
  • Default:效果如ExecuteReader()方法
  • SingleResult:查询返回一个结果集
  • KeyInfo:返回列和主键信息
  • SingleRow:查询返回一行,执行查询可能会影响数据库的状态
  • SequentialAccess:采用流的方式加载数据,然后可以使用GetBytes或GetChars方法来指定开始读取操作的字节为止以及正在返回的数据的有限的缓冲大小
  • CloseConnection:在执行该方法时,如果关闭关联的DataReader对象,则关联的对象也将会关闭

ExecuteScalar

释义:执行SQL语句并返回结果集中第一行第一列的数据

语法:public override Object ExecuteScalar();

Fill

释义:用于填充数据集。

语法:public override int Fill(DataSet dataset);

public override int Fill(DataTable dataTable);

public override int Fill(DataSet dataset ,String srcTableName);

//其中SrctableName是指用于表映射的源表的名称

示例:

//调用SqlDataAdapter对象的Fill方法填充DataSet数据集
SqlDataAdapter adapter=new SqlDataAdapter(strsql,conn);
DataSet dataset=new DataSet();
adapter.Fill(dataset);
//调用SqlDataAdapter的Fill方法填充DataTable数据集
SqlDataAdapter adapter=new SqlDataAdapter(strSQL,conn);
DataTable dataTable=new DataTable();
adapter.Fill(dataTable);
//调用SqlDataAdapter对象的Fill方法填充DataSet数据集,并指定“Student"表进行填充
SqlDataAdapter adapter=new SqlDataAdapter(strSQL,conn);
DataSet dataset=new DataSet();
adapter.Fill(dataset,"Student");

返回值:已在DataSet中成功添加的或刷新的行数,这并不包括不受返回行的语句影响的行

Merge

释义:合并数据集

1、

语法:public void Merge(DataRows[] rows);

参数:rows:要合并到DataSet的DataRow对象数组

2、

语法:public void Merge(DataTable table);

参数:table是其数据和架构江北合并的DataTable

3、

语法:public void Merge(DataSet dataset);

参数:dataset 是其数据和架构将被合并的DataSet,即将指定的dataset合并到当前的dataset数据集中。

4、

语法:public void Merge(DataSet dataset bool preserveChanges);

参数:将指定的DataSet机器架构合并到当前的DataSet中,在此过程中,将根据给定的参数保留或放弃在此DataSet中进行的任何的修改

示例:

DataSet dataset1=new DataSet();
DataSet dataset2=new DataSet();
SqlDataAdapter1=new SqlDataAdapter(strSQL1,conn);
adapter1.Fill(dataset1);
SqlDataAdapter adapter2=new SqlDataAdapter(strSQL2,conn);
adapter2.Fill(dataset2);
//使用Merge方法将两个数据集合并到一起
dataset1.Merge(dataset2,true,MissingSchemaAction.AddWithKey);
dataGridView.DataSource=dataset1.Table[0];

ADO.NET常用方法释义的更多相关文章

  1. Java 解析 XML

    Java 解析 XML 标签: Java基础 XML解析技术有两种 DOM SAX DOM方式 根据XML的层级结构在内存中分配一个树形结构,把XML的标签,属性和文本等元素都封装成树的节点对象 优点 ...

  2. ADO.NET操作数据库(一)

    ---恢复内容开始--- [1]ADO.Net简介2015-12-07-20:16:05 ADO.Net提供对Microsoft SQL Server数据源以及通过OLE DB和XML公开的数据源的一 ...

  3. ADO.Net 数据库访问技术

    1.在web.Config配置文件中设置连接字符串 <connectionStrings> <add name="connString" connectionSt ...

  4. 018. ADO.NET _DataSet_DataAdapter

    DataSet对象是支持ADO.NET的断开式或分布式数据方案的核心对象; DataAdapter对象是一种用来充当DataSet对象与实际数据源之间的桥梁 的对象, 所以二者结合访问数据库中数据模式 ...

  5. ADO.NET - 全面梳理

    转自:http://www.cnblogs.com/yangcaogui/archive/2012/06/09/2537086.html 目录: 简单的介绍下ADO.NET SqlConnection ...

  6. 30、ADO.NET、事务、DataSet

    ADO.NET ADO.NET是一组用于和数据源进行交互的面向对象类库.通常数据源是数据库,但也可以是文本文件.Excel表格.XML文件. 说白了就是使用.net操作数据库的一套类库. ADO.NE ...

  7. ADO.NET对象模型

    ADO.NET建立在NetFramwork一些核心类的基础之上,可以将这些类分为两组:用于包含于管理数据的容器类与用于连接特定数据源的控制类. 容器类是通用的,无论使用什么样的数据源,都可以使用相同的 ...

  8. C#开发学习——ADO.NET几个重要对象

    ADO.NET包括多个对象模型,有Connection/Command/DataReader/DataAdapter/DataSet/DataTable/DataView等. 命名空间System.D ...

  9. (转 飛雲若雪)ADO.NET

    一.简单介绍ADO.NET System.Data:DataTable,DataSet,DataRow,DataColumn,DataRelation,Constraint System.Data.C ...

随机推荐

  1. SpringBoot 使用MultipartFile上传文件相关问题解决方案

    1.当上传时未配置上传内容大小,会报错[org.apache.tomcat.util.http.fileupload.FileUploadBase$SizeLimitExceededException ...

  2. 深入理解final关键字

    在了解了final关键字的基本用法之后,这一节我们来看一下final关键字容易混淆的地方. 1.类的final变量和普通变量有什么区别? 当用final作用于类的成员变量时,成员变量(注意是类的成员变 ...

  3. lvs+keepalive实现双主模式(采用DR),同时实现TCP和UDP检测实现非web端的负载均衡,同时实现跨网段的通讯

    因为公司领导需要,需要把lvs备机也使用上,故! 使用双主,相互是主的同时也相互是备机.本人用nat测试发现RS无法实现负载均衡,故采用DR模式来实现非web端的负载均衡 lvs1: DIP 10.6 ...

  4. CSS实现元素居中原理解析

    在 CSS 中要设置元素水平垂直居中是一个非常常见的需求了.但就是这样一个从理论上来看似乎实现起来极其简单的,在实践中,它往往难住了很多人. 让元素水平居中相对比较简单:如果它是一个行内元素,就对它的 ...

  5. leetcode刷题笔记326 3的幂

    题目描述: 给出一个整数,写一个函数来确定这个数是不是3的一个幂. 后续挑战:你能不使用循环或者递归完成本题吗? 题目分析: 既然不使用循环或者递归,那我可要抖机灵了 如果某个数n为3的幂 ,则k=l ...

  6. JDBC线程池创建与DBCP源码阅读

    创建数据库连接是一个比较消耗性能的操作,同时在并发量较大的情况下创建过多的连接对服务器形成巨大的压力.对于资源的频繁分配﹑释放所造成的问题,使用连接池技术是一种比较好的解决方式. 在Java中,连接池 ...

  7. APP自动化框架LazyAndroid使用手册(4)--测试模板工程详解

    概述 前面的3篇博文分别对lazyAndroid的框架简介.元素抓取和核心API进行了说明,本文将基于框架给出的测试模板工程,详细阐述下使用该框架进行安卓UI自动化测试的步骤. 模板工程 先来看一下模 ...

  8. IT男的别样人生,爱折腾,竟然辞职跑丽江去了

    深圳待了4年,在深圳腾讯总部任职,北漂了5年多,任某知名团购公司CTO,有了孩子以后才知道自己想要什么 2015年4月,我和老婆还有6个月的儿子丽江游, 却在旅行的第四天, 买下了位于束河古镇正门的高 ...

  9. linux下数据同步、回写机制分析

    一.前言在linux2.6.32之前,linux下数据同步是基于pdflush线程机制来实现的,在linux2.6.32以上的版本,内核彻底删掉了pdflush机制,改为了基于per-bdi线程来实现 ...

  10. 高端技巧:如何使用#define定义变量

    Introduction 想在源文件中定义一个跟行号有关的变量,每次都手动输入实在是太慢了,本文介绍如何使用宏定义来定义与行号有关的变量. 例如:我们想在源代码的第10行定义A_10这样的一个整形变量 ...