OracleBFile.Seek(Int64, SeekOrigin) Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Задает позицию в текущем потоке 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
Параметры
- offset
- Int64
Смещение в байтах по отношению к источнику. Если значение параметра offset
является отрицательным, новая позиция будет предшествовать позиции, заданной параметром origin
, при этом расстояние между позициями будет равняться числу байтов, заданному параметром offset
. Если значение параметра offset
равно нулю, новая позиция будет совпадать с позицией, заданной параметром origin
. Если значение параметра offset
является положительным, новая позиция будет следовать за позицией, заданной параметром origin
, при этом расстояние между позициями будет равняться количеству байтов, которое задано параметром offset
.
- origin
- SeekOrigin
Значение типа System.IO.SeekOrigin
, указывающее точку ссылки, которая используется для получения новой позиции.
Возвращаемое значение
Новая позиция в текущем потоке.
Исключения
Выполняет попытку задать для позиции отрицательное значение или значение, превышающее длину потока.
Методы были вызваны после закрытия или удаления потока.
Комментарии
Если offset
значение отрицательное, новая позиция должна предшествовать позиции, заданной параметром origin
, числом байтов, заданным параметром offset
. Если offset
значение равно нулю, новая позиция должна быть позицией, заданной параметром origin
. Если offset
является положительным, новая позиция должна соответствовать позиции, заданной параметром origin
, числом байтов, заданным параметром offset
.
Поиск в любом расположении, превышающем длину потока, не поддерживается.
Любая попытка доступа к закрытому OracleBFile объекту Read с помощью методов или Seek автоматически открывает OracleBFile поток.
В следующем примере C# предполагается, что эта схема содержится в таблице Oracle:
(col1 number, col2 BFILE)
В примере показано использование Read методов и Seek для доступа к объекту OracleBFile .
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);
}
}
}