一、数据读取器对象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. CM 部署bigdata测试环境群集机器报错

    CM repo库info;

  2. Django model中 双向关联问题,求帮助

    Django model中 双向关联问题,求帮助 - 开源中国社区 Django model中 双向关联问题,求帮助

  3. python 偏函数

    functools.partial可以设置默认参数和关键字参数的默认值 Python的functools模块提供了很多有用的功能,其中一个就是偏函数(Partial function).要注意,这里的 ...

  4. Android Design 与 Holo Theme

    转载:http://www.geekpark.net/topics/179488 [核心提示] 提到 Android Design,很多人会做出”啊,知道,就是黑色的背景和灰蓝色的平的按钮嘛”,那么到 ...

  5. SpringMVC(一)

    开始学习SpringMVC了,就写下每次学习的内容,以及自己的理解.方便以后回顾知道自己哪里好哪里不好~~~ 一.目录 1.主目录如此: 2.target目录 二.文件 1.主要用到的几个文件夹(如主 ...

  6. window 便笺

    windows的便签很方便人们记录日常工作安排,但是不是所有人都知道如何调用,下面介绍下如何调用windows便签: 1.win + R -->  StikyNot 2.弹出便签界面 3.右击底 ...

  7. cocos2d-x 手势之简单实现

    转自:http://blog.sina.com.cn/s/blog_61ece099010187tl.html 手势之前也发过一篇,但是我感觉那个还不够轻巧. 而且大多数游戏里面不会有那么复杂的手势, ...

  8. C# Redis Server分布式缓存编程(二)

    在Redis编程中, 实体和集合类型则更加有趣和实用 namespace Zeus.Cache.Redis.Demo { public class Person { public int Id { g ...

  9. hdu 5438 Ponds 拓扑排序

    Ponds Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://acm.hdu.edu.cn/contests/contest_showproblem ...

  10. BZOJ 1028: [JSOI2007]麻将 暴力

    1028: [JSOI2007]麻将 Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://www.lydsy.com/JudgeOnline/prob ...