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
為 0,則新的位置將會在 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);
}
}
}