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
相对于原点的字节偏移量。 如果 offset 为负数,则新位置将位于由 origin 指定 offset字节数指定的位置之前。 如果 offset 为零,则新位置将是指定 origin的位置。 如果 offset 为正值,则新位置将遵循由 origin 指定 offset字节数指定的位置。
- origin
- SeekOrigin
一个类型的 System.IO.SeekOrigin 值,指示用于获取新位置的引用点。
返回
当前流中的新位置。
例外
尝试设置负值或大于流的长度的位置。
在关闭或释放流后调用方法。
注解
如果 offset 为负数,则新位置需要位于由 origin 指定 offset字节数指定的位置之前。 如果 offset 为零,则新位置必须是指定 origin的位置。 如果 offset 为正数,则新位置必须遵循由 origin 指定 offset字节数指定的位置。
不支持查找超出流长度的任何位置。
使用或OracleBFile方法访问已关闭ReadSeek的任何尝试都会自动重新打开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);
}
}
}