SqlDataReader.GetBytes(Int32, Int64, Byte[], Int32, Int32) 方法

定义

从给定的缓冲区偏移量开始,按指定的列偏移量将字节流作为数组读入缓冲区。

public:
 override long GetBytes(int i, long dataIndex, cli::array <System::Byte> ^ buffer, int bufferIndex, int length);
public:
 virtual long GetBytes(int i, long dataIndex, cli::array <System::Byte> ^ buffer, int bufferIndex, int length);
public override long GetBytes (int i, long dataIndex, byte[] buffer, int bufferIndex, int length);
public long GetBytes (int i, long dataIndex, byte[] buffer, int bufferIndex, int length);
override this.GetBytes : int * int64 * byte[] * int * int -> int64
abstract member GetBytes : int * int64 * byte[] * int * int -> int64
override this.GetBytes : int * int64 * byte[] * int * int -> int64
Public Overrides Function GetBytes (i As Integer, dataIndex As Long, buffer As Byte(), bufferIndex As Integer, length As Integer) As Long
Public Function GetBytes (i As Integer, dataIndex As Long, buffer As Byte(), bufferIndex As Integer, length As Integer) As Long

参数

i
Int32

从零开始的列序号。

dataIndex
Int64

自其开始读取操作的字段中的索引位置。

buffer
Byte[]

要读入字节流的缓冲区。

bufferIndex
Int32

buffer 中写入操作开始位置的索引。

length
Int32

复制到缓冲区中的最大长度。

返回

读取的实际字节数。

实现

注解

GetBytes 返回 字段中的可用字节数。 大多数情况下,这是字段的确切长度。 但是,如果 GetBytes 已使用 从字段获取字节,则返回的数字可能小于字段的真实长度。 例如,如果 SqlDataReader 正在将大型数据结构读入缓冲区,则可能会出现这种情况。 有关详细信息,请参阅 SequentialAccess 的设置 CommandBehavior

如果传递的缓冲区为 nullGetBytes 则返回整个字段的长度(以字节为单位),而不是基于缓冲区偏移参数的剩余大小。

不执行任何转换;因此,检索到的数据必须已是字节数组。

适用于

另请参阅