一、数据读取器对象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. 问题-Delphi 中使用TStringList后,报out of memory 的解决方法

    问题现象: 请一段开发个项目 程序调试全部通过但测试时出现个问题 “out of memory” 在长时间运行时!后来终于解决 :很简单其实就是object.create时对象没有释放. 代码如下: ...

  2. 关于PCB布线的顺序到底是怎样才合理?

    有人说先布好电源线和地线,让它们尽量靠近走,然后再考虑信号线:也有人说先布好关键的信号线,然后再走电源和地线:还有人说先布好电源线,再布信号线,地线最后布.到底怎么样才算好呢?或者说,一般应按照什么顺 ...

  3. hdoj 1213 How Many Tables

    How Many Tables Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)T ...

  4. 转载SSIS中的容器和数据流—数据转换(Transformations)

    对数据流来说按照需求将数据转换成需要的格式是数据操作中的一个关键的步骤.例如想要得到聚合排序后的运算结果,转换可以实现这种操作.和SQL Server 2000 DTS完全不同,这些操作不需要编写sc ...

  5. JavaScript要点 (四)JSON

    JSON 是用于存储和传输数据的格式. JSON 通常用于服务端向网页传递数据 . 什么是 JSON? JSON 英文全称 JavaScript Object Notation JSON 是一种轻量级 ...

  6. iOS 强制横屏

    // // AAAAViewController.m // hengp // // Created by 朱信磊 on 15/2/13. // Copyright (c) 2015年 niit. Al ...

  7. Tricks Device (hdu 5294 最短路+最大流)

    Tricks Device Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) To ...

  8. C# 网络编程之豆瓣OAuth2.0认证具体解释和遇到的各种问题及解决

            近期在帮人弄一个豆瓣API应用,在豆瓣的OAuth2.0认证过程中遇到了各种问题,同一时候自己须要一个个的尝试与解决,终于完毕了豆瓣API的訪问.作者这里就不再吐槽豆瓣的认证文档了,毕 ...

  9. Liunx下Tomcat+MYSQL+Nginx配置

    环境:centos6.4 min #安装编译库及依赖模块 yum -y install gcc gcc-c++ autoconf automake make yum -y install zlib z ...

  10. [MODx] 10. Using Babel for Muti-languages support

    1. Go to 'Extras' -> download and install 'Babel'. 2. Set up '.htaccess' file, currently, we set ...