SqlDataReader.GetBytes(Int32, Int64, Byte[], Int32, Int32) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
从给定的缓冲区偏移量开始,按指定的列偏移量将字节流作为数组读入缓冲区。
public:
override 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);
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
参数
- i
- Int32
从零开始的列序号。
- dataIndex
- Int64
自其开始读取操作的字段中的索引位置。
- buffer
- Byte[]
要读入字节流的缓冲区。
- bufferIndex
- Int32
buffer
中写入操作开始位置的索引。
- length
- Int32
复制到缓冲区中的最大长度。
返回
读取的实际字节数。
实现
注解
GetBytes 返回 字段中的可用字节数。 大多数情况下,这是字段的确切长度。 但是,如果 GetBytes
已用于从字段中获取字节,则返回的数字可能小于字段的真实长度。 例如,如果 SqlDataReader 正在将大型数据结构读取到缓冲区中,则可能是这种情况。 有关详细信息,请参阅 SequentialAccess
的 CommandBehavior设置。
如果传递的缓冲区为 null
, GetBytes 则返回整个字段的长度(以字节为单位),而不是基于缓冲区偏移参数的剩余大小。
不执行任何转换;因此,检索到的数据必须已是字节数组。