次の方法で共有


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は、 で指定offsetされたバイト数でorigin指定された位置の前に新しい位置が必要です。 が 0 の場合 offset 、新しい位置は で origin指定された位置である必要があります。 が正の場合offsetは、 で指定されたバイトoffset数でorigin指定された位置に従うために、新しい位置が必要です。

ストリームの長さを超える任意の場所へのシークはサポートされていません。

メソッドまたは Seek メソッドを使用して閉じた OracleBFileReadアクセスしようとすると、ストリームがOracleBFile自動的に再度開きます。

次の C# の例では、Oracle テーブルでこのスキーマを想定しています。

(col1 number, col2 BFILE)

この例では、 メソッドと Seek メソッドをRead使用してオブジェクトにアクセスする方法を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);
        }
    }
}

適用対象