次の方法で共有


OracleBFile.Seek メソッド

メモ : この名前空間、クラス、およびメンバは、.NET Framework Version 1.1 だけでサポートされています。

現在の OracleBFile ストリームで位置を設定します。

Overrides Public Function Seek( _
   ByVal offset As Long, _   ByVal origin As SeekOrigin _) As Long
[C#]
public override long Seek(longoffset,SeekOriginorigin);
[C++]
public: __int64 Seek(__int64offset,SeekOriginorigin);
[JScript]
public override function Seek(
   offset : long,origin : SeekOrigin) : long;

パラメータ

  • offset
    原点からのバイト オフセット。 offset が負の場合は、 origin で指定した位置から offset で指定したバイト数だけさかのぼった位置が新しい位置になります。 offset が 0 の場合は、 origin で指定した位置が新しい位置になります。 offset が正の場合は、 origin で指定した位置から offset で指定したバイト数だけ進んだ位置が新しい位置になります。
  • origin
    新しい位置を取得するために使用する参照ポイントを示す System.IO.SeekOrigin 型の値。

戻り値

現在のストリーム内の新しい位置。

例外

例外の種類 条件
ArgumentOutOfRangeException 負の値またはストリーム長を超える値に、位置を設定しようとしました。
ObjectDisposedException ストリームが閉じられたか破棄された後で、メソッドが呼び出されました。

解説

offset が負の値の場合は、 origin で指定した位置から offset で指定したバイト数だけさかのぼった位置が新しい位置になります。 offset が 0 の場合は、 origin で指定した位置が新しい位置になります。 offset が正の値の場合は、 origin で指定した位置から offset で指定したバイト数だけ進んだ位置が新しい位置になります。

ストリーム長を超えた位置へのシークはサポートされていません。

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

次の C# の例では、Oracle テーブルにおいてこの方法を用いることを想定しています。

(col1 number, col2 BFILE)

Read メソッドと Seek メソッドを使用して OracleBFile オブジェクトにアクセスする例を次に示します。

byte[] buffer = new byte[100];
OracleDataReader myReader = myCommand.ExecuteReader();
using (myReader) {
    if (myReader.Read()) {
            OracleBFile myBFile = myReader.GetOracleBFile(1);
        using (myBFile) {
            myBFile.Seek(0, SeekOrigin.Begin);
            myBFile.Read(buffer, 0, 100);
        }
    }
}

必要条件

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ

.NET Framework セキュリティ:

参照

OracleBFile クラス | OracleBFile メンバ | System.Data.OracleClient 名前空間