Compartilhar via


OracleBFile.Seek(Int64, SeekOrigin) Método

Definição

Define a posição no fluxo OracleBFile atual.

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 pela origin pelo número de bytes especificado por offset. Se offset for zero, a nova posição será a posição especificada pela origin. Se offset for positivo, a nova posição seguirá a posição especificada pela origin pelo número de bytes especificado por offset.

origin
SeekOrigin

Um valor do tipo System.IO.SeekOrigin indicando 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 a busca de qualquer local além do comprimento do fluxo.

Qualquer tentativa de acessar um fechado OracleBFile usando os Read métodos ou Seek 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 Read métodos e Seek 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