OracleBFile.Seek(Int64, SeekOrigin) Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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);
}
}
}