OracleBFile.Seek(Int64, SeekOrigin) Método

Definição

Define a posição no fluxo atual 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

Parâmetros

offset
Int64

Um deslocamento de bytes relativo à origem. Se offset for negativo, a nova posição precederá a posição especificada pelo origin número de bytes especificado por offset. Se offset for zero, a nova posição será a posição especificada por origin. Se offset for positivo, a nova posição seguirá a posição especificada pelo origin número de bytes especificado por offset.

origin
SeekOrigin

Um valor de tipo System.IO.SeekOrigin que indica o ponto de referência usado para obter a nova posição.

Retornos

A nova posição dentro do fluxo atual.

Exceções

Tentou definir uma posição com um valor negativo ou maior que o comprimento do fluxo.

Os métodos foram chamados depois que o fluxo foi fechado ou descartado.

Comentários

Se offset for negativo, a nova posição será necessária para preceder a posição especificada pelo origin número de bytes especificado por offset. Se offset for zero, a nova posição será necessária para ser a posição especificada por origin. Se offset for positivo, a nova posição será necessária para seguir a posição especificada pelo origin número de bytes especificado por offset.

Não há suporte para procurar qualquer local além do comprimento do fluxo.

Qualquer tentativa de acessar um fechado OracleBFile usando ou métodos ReadSeek reabre um OracleBFile fluxo automaticamente.

O exemplo de C# a seguir pressupõe esse esquema em uma tabela Oracle:

(col1 number, col2 BFILE)

O exemplo demonstra o uso dos métodos e Read do Seek uso para acessar um 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);
        }
    }
}

Aplica-se a