一、数据读取器对象SqlDataReader的使用
     如何执行有查询结果集的select语句。
1.SqlDataReader对象的作用:当包含select语句的SqlCommad对象在调用ExecuteReader( )方法时,系统会在数据库服务器端生成一个查询结果集,注意,该查询结果集是存储在数据库的,因此在获取这个查询结果集的过程中应用程序与数据库服务器的连接是不能断开的,即SqlConnection对象应该处于Open状态。ExecuteReader( )在生成了查询结果集的同时,还会返回一个SqlDataReader类型的对象给应用程序,此时应用程序就可以使用SqlDataReader对象去数据库服务器端逐行获取数据,因此这是个循环的过程。
2.这种执行select语句的方式适合大数据集的情况。
3.SqlDataReader对象的常用方法:
a)Read( )方法:该方法的作用是读取数据库服务器中查询结果集的当前行记录。读取后记录的指针下移,下次再调用Read( )方法时,将获得下一行数据。
b)Get数据类型名(字段的位置) :这是一系列方法的统一格式,使用这类方法获得读取到的当前记录的指定位置的字段的值。具体Get后面要选择哪个数据类型,要看这个字段的数据类型。
 
    二、数据适配器对象SqlDataAdapter的使用
使用SqlDataReader对象读取查询记录集适合于大型的查询语句结果集的情况。如果查询结果集量较少,使用SqlDataReader并不合适,因为,在SqlDataReader对象读取数据的过程中,应用程序与数据库服务器之间的连接一直打开,会占用数据库服务器的资源,降低了数据库访问的并发性,也增加了数据库服务器的压力。因此,在查询结果集中的记录量比较少的时候可以考虑使用SqlDataAdapter的对象。
1.SqlDataAdapter使用的优点:
     a、可以自动打开与关闭连接,不需要人为的调用连接的Open方法
     b、将查询结果集放置到应用程序中,不占用数据库服务器的资源与连接。
2.SqlDataAdapter使用的步骤:
     a、创建一个SqlCommand命令对象,并为该对象设置好连接、命令字符串、如果命令中包含参数还应该为命令增加参数对象。
   b、基于上面的命令对象创建一个SqlDataAdapter类的对象
   c、创建一个Dataset类的对象,以备后面使用。Dataset类是数据集类,该类的对象是1个或多个DataTable类对象的集合。而DataTable类对象本质上是一个具有行和列的数据表,是一块内存结构,是临时存储数据用的。不同于数据库中真正的表对象
   d、调用SqlDataAdapter类的对象的Fill方法,将执行命令对象的查询语句,并将结果集填充到上面事先定义好的Dataset类对象中。
 
 

数据读取器对象SqlDataReader与数据适配器对象SqlDataAdapter的使用的更多相关文章

  1. 如何在ADO中使用数据读取器(DataReader)读取数据

    DbDataReader类型(实现IDataReader接口)是从数据源获取信息最简单也最快速的方法. 数据读取器是只读向前的效据流.井且一次返回一条记录.因此.只有当你向数据源提交 Select 查 ...

  2. Extjs的数据读取器store和后台返回类型简单解析

    工作中用到了Extjs,从后台获取数据的时候,用到了extjs自己的Ext.data.store方法,然后封装了ExtGridReturn方法, 目的:前台用到Ext.data.store读取从后台传 ...

  3. [原创]SSIS-WMI 数据读取器任务:监控物理磁盘空间

    背景:       随着时间的推移,我们的DW会越来越大,也就意味着磁盘空间会越来越小,那如果哪一天留意不当,就会造成磁盘空间的不足而导致ETL失败,最终影响我们的系统的数据正确性和使用,更严重的有可 ...

  4. c#中使用数据读取器读取查询结果

    今天有时间了. 在看<c#数据库入门经典> ,总结数据读取器查询结果. 针对单个结果集使用读取器,有3中方法: String connString =..; String sql =@&q ...

  5. 【原创】SSIS-WMI 数据读取器任务:监控物理磁盘空间

    1.背景 随着时间的推移,我们的DW会越来越大,也就意味着磁盘空间会越来越小,那如果哪一天留意不当,就会造成磁盘空间的不足而导致ETL失败,最终影响我们的系统的数据正确性和使用,更严重的有可能导致物理 ...

  6. 调用EF的存储过程报“存储区数据提供程序返回的数据读取器所具有的列数对于所请求的查询不够”问题

    在运用Entity Framework调用存储过程的时候,遇到"调用EF的存储过程报"调用EF的存储过程报“存储区数据提供程序返回的数据读取器所具有的列数对于所请求的查询不够”问题 ...

  7. 数据库学习任务四:数据读取器对象SqlDataReader、数据适配器对象SqlDataAdapter、数据集对象DataSet

    数据库应用程序的开发流程一般主要分为以下几个步骤: 创建数据库 使用Connection对象连接数据库 使用Command对象对数据源执行SQL命令并返回数据 使用DataReader和DataSet ...

  8. datasets数据读取器

    #切分数据集 img_dir = train_parameters['img_dir'] file_name = train_parameters['file_name'] df = pd.read_ ...

  9. {"读取 XML 数据时,超出最大名称表字符计数配额(16384)。。。。通过更改在创建 XML 读取器时所使用的 XmlDictionaryReaderQuotas 对象的 MaxNameTableCharCount 属性,。。

    这个问题倒腾了快一周,看了网上各种解决方案,还看了用谷歌翻译看了全英文的,参照了修改也没能够解决问题. 最后只有自己一行一行断点,一行一行删除代码,各种检测.主要是我在webservice里面新添加几 ...

随机推荐

  1. build-your-first-mobile-app(第一个 PhoneGap cordova Coldfusion App)

    摘自:http://www.adobe.com/devnet/coldfusion/articles/build-your-first-mobile-app.html Introduction Use ...

  2. maven 名词

    maven 坐标: 坐标 其实就是 通过几种不同的元素描述来找到其对应的构件. maven 定义坐标的元素有: 1. groupId : 定义当前maven 项目隶属的实际项目,一般是域名的反向写法 ...

  3. openstack fe

  4. whu 1464 deal with numbers

    WHU 1464  deal with numbers 题意: 给你一串数字,对着串数字有三项操作: Minus a,b,c:对区间[a,b]总的每个数都减c. Division a,b,c:对区间[ ...

  5. UI进阶 数据处理之文件读写

    目录: 1-------沙盒机制(SandBox) 2-------简单对象的读写(I/O)操作 3-------复杂对象的读写(I/O)操作 一.沙盒机制(SandBox) 什么是沙盒:每个iOS应 ...

  6. 小物件之输出简单的table

    如果需要将一个数组输出一个简单的table可以采用以下代码(该数组非空) <?php $thead=array("name"=>"名称"," ...

  7. 把pgboucer做成postgresql服务

    把pgbouncer启动命令加入到postgresql服务配置里面.这样方便操作 vi /etc/init.d/postgresql 加入如下红色命令.路径换成你的pgbouncer安装目录 in s ...

  8. [安卓开发]App Widget开发入门指导

    本节所要讲的主要内容包括Android桌面小部件.App Widget的开发入门指导,并通过一个简单实例的形式来直观的讲解App Widget. 一.Widget .App Widget .Web A ...

  9. iOS开发——面试笔试精华(四)

    面试笔试精华(四) 1.        Object-C有多继承吗?没有的话用什么代替?
 1>  OC是单继承,没有多继承 2>  有时可以用分类和协议来代替多继承 2.        ...

  10. Linux中的终端、控制台、tty、pty等概念

    参考:http://news.newhua.com/news1/program_language/2010/623/10623141048745773199BCF0CFH6AKB9930IGCFKHB ...