OracleBFile.Seek(Int64, SeekOrigin) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
在当前 OracleBFile 流上设置位置。
public:
override long Seek(long offset, System::IO::SeekOrigin origin);
public override long Seek (long offset, System.IO.SeekOrigin origin);
override this.Seek : int64 * System.IO.SeekOrigin -> int64
Public Overrides Function Seek (offset As Long, origin As SeekOrigin) As Long
参数
- offset
- Int64
相对于 origin 的字节偏移量。 如果 offset
为负,则新位置位于 origin
指定的位置之前 offset
指定的字节数。 如果 offset
为零,则新位置是 origin
指定的位置。 如果 offset
为正,则新位置位于 origin
指定的位置之后 offset
指定的字节数。
- origin
- SeekOrigin
System.IO.SeekOrigin
类型的值,指示用于获取新位置的参考点。
返回
当前流中的新位置。
例外
尝试用一个负值或大于该流长度的值设置位置。
关闭或释放该流后,调用方法。
注解
如果 offset
为负数,则新位置需要位于 由 origin
指定的字节数所指定 offset
的位置之前。 如果 offset
为零,则新位置必须是 指定 origin
的位置。 如果 offset
为正数,则新位置必须遵循 由 origin
指定的字节数所指定 offset
的位置。
不支持查找超过流长度的任何位置。
任何使用 Read 或 Seek 方法访问已关闭OracleBFile的 的尝试都会OracleBFile自动重新打开流。
以下 C# 示例假定 Oracle 表中存在此架构:
(col1 number, col2 BFILE)
该示例演示如何使用 Read 和 Seek 方法来访问 OracleBFile 对象。
byte[] buffer = new byte[100];
OracleDataReader dataReader = command.ExecuteReader();
using (dataReader) {
if (dataReader.Read()) {
OracleBFile BFile = dataReader.GetOracleBFile(1);
using (BFile) {
BFile.Seek(0, SeekOrigin.Begin);
BFile.Read(buffer, 0, 100);
}
}
}