DataReader的主要属性

原创 2007年09月15日 13:16:00

使用DataReader访问数据的时候,有必要介绍一下下面几个DataReader的属性:

FieldCount:查询记录当中的字段个数。

Read():返回一个布尔值,可以用来判断DataReader是否读取到记录

NextResult(),在用Command对象执行多个记录集时用到,将会读取下一个记录集

默认情况下,DataReader 在整个数据行可用时立即以行的形式加载传入数据。但是,对于二进制大对象 (BLOB) 则需要进行不同的处理,因为它们可能包含数十亿字节的数据,而单个行中无法包含如此多的数据。Command.ExecuteReader 方法具有一个重载,它将采用 CommandBehavior 参数来修改 DataReader 的默认行为。您可以将 SequentialAccess 传递到 ExecuteReader 方法来修改 DataReader 的默认行为,使其按照顺序在接收到数据时立即将其加载,而不是加载数据行。这是加载 BLOB 或其他大数据结构的理想方案。请注意,该行为可能会因数据源的不同而不同。例如,从 Microsoft Access 中返回 BLOB 会将整个 BLOB 加载到内存中,而不是按照顺序在接收到数据时立即将其加载。

在将 DataReader 设置为使用 SequentialAccess 时,务必要注意访问所返回字段的顺序。DataReader 的默认行为是在整个行可用时立即加载该行,这样可以在读取下一行之前按任何顺序访问所返回的字段。但是,当使用 SequentialAccess 时,必须按顺序访问由 DataReader 返回的字段。例如,如果查询返回三个列,其中第三列是 BLOB,则必须在访问第三个字段中的 BLOB 数据之前返回第一个和第二个字段的值。如果在访问第一个或第二个字段之前访问第三个字段,则第一个和第二个字段值将不再可用。这是因为 SequentialAccess 已修改 DataReader,使其按顺序返回数据,当 DataReader 已经读取超过特定数据时,该数据将不可用。

在访问 BLOB 字段中的数据时,请使用 DataReader GetBytes GetChars 类型化访问器,它们将用数据来填充数组。还可以对字符数据使用 GetString;但是为了节省系统资源,您可能不希望将整个 BLOB 值加载到单个字符串变量中。您可以指定要返回的特定数据缓冲区大小,以及从返回的数据中读取的第一个字节或字符的起始位置。GetBytes GetChars 将返回一个 long 值,它表示返回的字节或字符数。如果将一个空数组传递给 GetBytes GetChars,则返回的长值将是 BLOB 中字节或字符的总数。您可以选择将数组中的某个索引指定为所读取数据的起始位置

DataReader对象的常用属性

一、DataReader对象的常用属性 DataReader对象提供了用顺序的、只读的体式格局读取*河蟹*mand对象获得的数据结果集。由于DataReader只执行读操作,而且每一次只在内存缓冲区...

js中遍历获取对象属性和方法主要

js中遍历获取对象属性和方法主要有Object.keys()、Object.getOwnPropertyNames()、for...in...三种方式   一、Object.keys()、...

AJAX——XMLHttpRequest对象主要属性和事件

readyState属性 有5个取值:0、1、2、3、4,表示HTTP请求的状态和服务器的响应。此属性的值一般不会递减,除非在正在进行的请求中调用了abort()或open()方法。理论上,每当这个属...

Spring cloud系列六 Ribbon的功能概述、主要组件和属性文件配置

Ribbon实现客户端的负载均衡。Spring cloud Feign已经默认集成Ribbon。 - 1.ribbon功能说明 - 2.ribbon的6个主要组件:IRule、IPing、Server...
  • hry2015
  • hry2015
  • 2017年10月26日 20:00
  • 247

HTTP Headers状态码(status)主要字段属性详解GET,POST,HEAD

原文地址:HTTP Headers状态码(status)主要字段属性详解GET,POST,HEAD作者:劝君莫再寻网友 GET:获取一个文档 大部分被传输到浏览器的html,images,js...

CListCtrl控件主要事件及LVN_ITEMCHANGED消息和鼠标双击列表项事件的处理;属性类型设定

LVN_BEGINDRAG 鼠标左键正在被触发以便进行拖放操作(当鼠标左键开始拖拽列表视图控件中的项目时产生) LVN_BEGINRDRAG 鼠标右键正在被触发以便进行拖放操作(当鼠标右键开始拖拽列表...

linux文件的三个主要的时间属性

原文地址:http://tech110.blog.51cto.com/438717/283977 Linux文件有3个修改时间,很多朋友都喜欢弄混淆,也包括我在内,现在列出来供参考。...

几种Android布局layout组件主要常用属性

(1) LinearLayout (2)

要绘图,首先得调整画笔,待画笔调整好之后,再将图像绘制到画布上,这样才可以显示在手机屏幕上。Android 中的画笔是 Paint类,Paint 中包含了很多方法对其属性进行设置,主要方法(没有全部列

要绘图,首先得调整画笔,待画笔调整好之后,再将图像绘制到画布上,这样才可以显示在手机屏幕上。Android 中的画笔是 Paint类,Paint 中包含了很多方法对其属性进行设置,主要方法(没有全部列...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:DataReader的主要属性
举报原因:
原因补充:

(最多只允许输入30个字)