Compartir vía


OracleBFile.Seek(Int64, SeekOrigin) Método

Definición

Establece la posición en la secuencia OracleBFile actual.

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

Parámetros

offset
Int64

Desplazamiento de bytes con respecto al origen. Si offset es negativo, la nueva posición precederá a la posición especificada por origin el número de bytes especificado mediante offset. Si offsetes cero, la nueva posición será la especificada por origin. Si offset es positivo, la nueva posición seguirá a la posición especificada por origin el número de bytes especificado mediante offset.

origin
SeekOrigin

Valor de tipo System.IO.SeekOrigin que indica el punto de referencia utilizado para obtener la nueva posición.

Devoluciones

La nueva posición dentro de la secuencia actual.

Excepciones

Se ha intentado establecer una posición con un valor negativo o mayor que la longitud de la secuencia.

Se llamó a algún método después de cerrar o desechar la secuencia.

Comentarios

Si offset es negativo, la nueva posición es necesaria para preceder a la posición especificada por origin el número de bytes especificados por offset. Si offset es cero, se requiere que la nueva posición sea la posición especificada por origin. Si offset es positivo, se requiere la nueva posición para seguir la posición especificada por origin el número de bytes especificados por offset.

No se admite la búsqueda de cualquier ubicación más allá de la longitud de la secuencia.

Cualquier intento de acceder a un objeto cerrado OracleBFile mediante los Read métodos o Seek vuelve a abrir automáticamente una OracleBFile secuencia.

En el ejemplo de C# siguiente se da por supuesto este esquema en una tabla de Oracle:

(col1 number, col2 BFILE)  

En el ejemplo se muestra el uso de los Read métodos y Seek para tener acceso a un OracleBFile objeto .

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

Se aplica a