Freigeben über


OracleBFile.Seek(Int64, SeekOrigin) Methode

Definition

Legt die Position im aktuellen OracleBFile-Stream 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 Byteoffset relativ zum Ursprung. Wenn offset negativ ist, liegt die die neue Position um die durch origin angegebene Anzahl von Bytes vor der durch offset angegebenen Position. Wenn offset 0 (null) ist, ist die neue Position die durch origin angegebene Position. Wenn offset positiv ist, liegt die neue Position um die durch origin angegebene Anzahl an Bytes hinter der durch offset angegebenen Position.

origin
SeekOrigin

Ein Wert vom Typ System.IO.SeekOrigin, der den Bezugspunkt angibt, von dem aus die neue Position ermittelt wird.

Gibt zurück

Die neue Position innerhalb des aktuellen Streams.

Ausnahmen

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

Es wurden Methoden aufgerufen, nachdem der Stream geschlossen oder freigegeben wurde.

Hinweise

Wenn offset negativ ist, muss die neue Position der position vorangestellt werden, die durch origin die anzahl von angegebenen Bytes angegeben offsetwird. Wenn offset null ist, muss die neue Position die durch originangegebene Position sein. Wenn offset positiv ist, muss die neue Position der position folgen, die durch origin die anzahl von angegebenen Bytes angegeben offsetwird.

Das Suchen nach einem Speicherort, der über die Länge des Streams hinausgeht, wird nicht unterstützt.

Jeder Versuch, mit den Methoden oder Seek auf ein geschlossenes OracleBFile Objekt zuzugreifen, wird automatisch wieder geöffnetOracleBFile.Read

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

(col1 number, col2 BFILE)  

Das Beispiel veranschaulicht die Verwendung der Read Methoden und Seek für 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: