一、数据读取器对象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. linux中ctime,mtime,atime的区别

    st_atime Time when file data was last accessed. Changed by  the            following   functions:    ...

  2. nyoj 69 数的长度

    数的长度 时间限制:3000 ms  |  内存限制:65535 KB 难度:1   描述 N!阶乘是一个非常大的数,大家都知道计算公式是N!=N*(N-1)······*2*1.现在你的任务是计算出 ...

  3. java泛型 8 泛型的内部原理:类型擦除以及类型擦除带来的问题

    参考:java核心技术 一.Java泛型的实现方法:类型擦除 前面已经说了,Java的泛型是伪泛型.为什么说Java的泛型是伪泛型呢?因为,在编译期间,所有的泛型信息都会被擦除掉.正确理解泛型概念的首 ...

  4. 【Matlab】随机游走产生图像效果

    随机游走类似布朗运动,就是随机的向各个方向走吧.产生的图像实在漂亮,所以还是贴出分享. clear all; close all; clc; n=100000; x= 0; y= 0; pixel=z ...

  5. nginx编译参数集合

    http://www.ttlsa.com/nginx/nginx-configure-descriptions/ 标题是不是很欠揍,个人认为确实值得一看,如果你不了解nginx,或者你刚学nginx, ...

  6. Ognl表达式语言

    l  OGNL表达式 OGNL是Object Graphic Navigation Language(对象图导航语言)的缩写,它是一个开源项目. Struts2框架使用OGNL作为默认的表达式语言. ...

  7. 使用CATransition实现页面的“从左向右” “从右向左”的动画

    -(void)initView{ UISwipeGestureRecognizer *left_gesture=[[UISwipeGestureRecognizer alloc]initWithTar ...

  8. 访谈将源代码的函数 strcpy/memcpy/atoi/kmp/quicksort

    一.社论 继上一次发表了一片关于參加秋招的学弟学妹们怎样准备找工作的博客之后,反响非常大.顾在此整理一下,以便大家复习.好多源自july的这篇博客,也有非常多是我自己整理的.希望大家可以一遍一遍的写. ...

  9. 文件和目录之access函数

    本篇博文内容摘自<UNIX环境高级编程>(第二版),仅作个人学习记录所用.关于本书可参考:http://www.apuebook.com/. 当用open函数打开一个文件时,内核以进程的有 ...

  10. C#_ajax_demo

    使用asp.net mvc 调用Action方法很简单. 一.无参数方法. 1.首先,引入jquery-1.5.1.min.js 脚本,根据版本不同大家自行选择. <script src=&qu ...