OracleBFile.Seek(Int64, SeekOrigin) 方法

定义

在当前 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的位置。

不支持查找超过流长度的任何位置。

任何使用 ReadSeek 方法访问已关闭OracleBFile的 的尝试都会OracleBFile自动重新打开流。

以下 C# 示例假定 Oracle 表中存在此架构:

(col1 number, col2 BFILE)  

该示例演示如何使用 ReadSeek 方法来访问 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);  
        }  
    }  
}  

适用于