OracleBFile.Seek(Int64, SeekOrigin) Methode

Definition

Legt die Position für den aktuellen OracleBFile Datenstrom fest.

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

Parameter

offset
Int64

Ein Byte-Offset relativ zum Ursprung. Wenn offset dies negativ ist, wird die neue Position der position vorangestellt, die durch origin die anzahl der by offset. Wenn offset null ist, ist die neue Position die durch origin. Wenn offset sie positiv ist, folgt die neue Position der position, die durch origin die Anzahl der durch offsetdie angegebenen Byte angegeben wird.

origin
SeekOrigin

Ein Typwert System.IO.SeekOrigin , der den Referenzpunkt angibt, der zum Abrufen der neuen Position verwendet wird.

Gibt zurück

Die neue Position innerhalb des aktuellen Datenstroms.

Ausnahmen

Es wurde versucht, eine Position mit einem negativen Wert oder größer als die Länge des Datenstroms festzulegen.

Methoden wurden aufgerufen, nachdem der Datenstrom geschlossen oder verworfen wurde.

Hinweise

Wenn offset dies negativ ist, muss die neue Position der position vorangestellt werden, die durch origin die anzahl der by offset. Wenn offset null ist, muss die neue Position die durch origin. Wenn offset sie positiv ist, ist die neue Position erforderlich, um die durch origin die Anzahl der durch offsetdie Angegebene Anzahl von Bytes angegebene Position zu folgen.

Die Suche nach einem Beliebigen Speicherort über die Länge des Datenstroms hinaus wird nicht unterstützt.

Jeder Versuch, mithilfe der OracleBFile Methoden Read auf einen geschlossenen Seek Zugriff zuzugreifen, öffnet automatisch einen OracleBFile Datenstrom.

Im folgenden C#-Beispiel wird dieses Schema in einer Oracle-Tabelle vorausgesetzt:

(col1 number, col2 BFILE)

Das Beispiel veranschaulicht die Verwendung der Read Methoden für Seek den Zugriff auf ein OracleBFile Objekt.

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);
        }
    }
}

Gilt für: