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只执行读操作,而且每一次只在内存缓冲区...

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

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

建议93:构造方法应初始化主要属性和字段

建议93:构造方法应初始化主要属性和字段 类型的属性应该在构造方法调用完毕前完成初始化工作。如果字段没有在初始化器中设置初始值,那么它就应该在构造方法中初始化。 类型一旦被实例化,那么它就应该被视...
  • houwc
  • houwc
  • 2016-09-08 15:45
  • 253

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

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

全面解析css定位属性position(主要是relative以及absolute)

position 属性是规定元素的定位类型。

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

(1) LinearLayout (2)

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

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

【Android学习札记】Android七大布局及主要属性

一、UI组件类图这是在网上找的,图比较老,有很多新类没在上面;可以看到:所有控件都直接或间接继承自View类,而所有布局都直接或间接继承自ViewGroup类;二、七大布局1,线性布局(LinearL...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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