Condividi tramite


OracleBFile.Seek(Int64, SeekOrigin) Metodo

Definizione

Imposta la posizione sul flusso OracleBFile corrente.

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 dei byte relativo all'origine. Se offset è negativo, la nuova posizione precederà quella specificata da origin in base al numero di byte specificato da offset. Se offset è uguale a zero, la nuova posizione sarà quella specificata da origin. Se offset è positivo, la nuova posizione seguirà quella specificata da origin in base al numero di byte specificato da offset.

origin
SeekOrigin

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

Restituisce

Nuova posizione all'interno del flusso corrente.

Eccezioni

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

Sono stati chiamati metodi 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'uso 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