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 為 0,則新的位置將會在 origin 所指定的位置。 如果 offset 為正值,新的位置則在 origin 指定的位置之後由 offset 指定的位元組數。

origin
SeekOrigin

System.IO.SeekOrigin 類型的值,表示用來取得新位置的參考點。

傳回

目前資料流的新位置。

例外狀況

嘗試使用負值或大於資料流長度的值設定位置。

在關閉或處置資料流之後會呼叫方法。

備註

如果 offset 為負數,則需要新位置,才能在 所 origin 指定位元組數目所指定 offset的位置之前。 如果 offset 為零,則新位置必須是 所 origin指定的位置。 如果 offset 為正數,則新位置必須遵循 所指定位元組數目所originoffset指定的位置。

不支援搜尋超出數據流長度的任何位置。

任何使用 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);  
        }  
    }  
}  

適用於