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

相对于原点的字节偏移量。 如果 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)

该示例演示如何使用 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);
        }
    }
}

适用于