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