OracleBFile.Seek(Int64, SeekOrigin) Metodo

Definizione

Imposta la posizione nel flusso corrente 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

Parametri

offset
Int64

Offset di byte relativo all'origine. Se offset è negativo, la nuova posizione precederà la posizione specificata dal origin numero di byte specificato da offset. Se offset è zero, la nuova posizione sarà la posizione specificata da origin. Se offset è positivo, la nuova posizione seguirà la posizione specificata dal origin numero di byte specificato da offset.

origin
SeekOrigin

Valore di tipo System.IO.SeekOrigin che indica il punto di riferimento utilizzato per ottenere la nuova posizione.

Valori restituiti

Nuova posizione all'interno del flusso corrente.

Eccezioni

Si è tentato di impostare una posizione con un valore negativo o maggiore della lunghezza del flusso.

I metodi sono stati chiamati dopo la chiusura o l'eliminazione del flusso.

Commenti

Se offset è negativo, la nuova posizione deve precedere la posizione specificata dal origin numero di byte specificato da offset. Se offset è zero, la nuova posizione deve essere la posizione specificata da origin. Se offset è positivo, la nuova posizione deve seguire la posizione specificata dal origin numero di byte specificato da offset.

La ricerca di qualsiasi posizione oltre la lunghezza del flusso non è supportata.

Qualsiasi tentativo di accesso a un oggetto chiuso OracleBFile usando i Read metodi o Seek riapre automaticamente un OracleBFile flusso.

L'esempio C# seguente presuppone questo schema in una tabella Oracle:

(col1 number, col2 BFILE)

Nell'esempio viene illustrato l'utilizzo dei Read metodi e Seek per accedere a un OracleBFile oggetto .

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

Si applica a