Język

OracleBFile.Seek(Int64, SeekOrigin) Metoda

Definicja

Ustawia położenie bieżącego OracleBFile strumienia.

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

Parametry

offset
Int64

Przesunięcie bajtów względem źródła. Jeśli offset jest ujemna, nowa pozycja będzie poprzedzać pozycję określoną przez origin liczbę bajtów określonych przez offset. Jeśli offset ma wartość zero, nowa pozycja będzie pozycją określoną przez origin. Jeśli offset jest dodatnia, nowa pozycja będzie podążać za pozycją określoną przez origin liczbę bajtów określonych przez offset.

origin
SeekOrigin

Wartość typu System.IO.SeekOrigin wskazująca punkt odniesienia używany do uzyskania nowej pozycji.

Zwraca

Nowe położenie w bieżącym strumieniu.

Wyjątki

Podjęto próbę ustawienia pozycji z wartością ujemną lub większą niż długość strumienia.

Metody były wywoływane po zamknięciu lub usunięciu strumienia.

Uwagi

Jeśli offset jest ujemna, nowa pozycja jest wymagana, aby poprzedzić pozycję określoną przez origin liczbę bajtów określonych przez offset. Jeśli offset ma wartość zero, nowa pozycja musi być pozycją określoną przez origin. Jeśli offset jest dodatnia, nowa pozycja jest wymagana, aby podążać za pozycją określoną przez origin liczbę bajtów określonych przez offset.

Szukanie lokalizacji poza długością strumienia nie jest obsługiwane.

Każda próba uzyskania dostępu do zamkniętego OracleBFile przy użyciu Read metod lub Seek powoduje automatyczne ponowne otwarcie strumienia OracleBFile .

W poniższym przykładzie w języku C# przyjęto założenie, że ten schemat jest w tabeli Oracle:

(col1 number, col2 BFILE)

W przykładzie pokazano użycie Read metod i Seek w celu uzyskania dostępu OracleBFile do obiektu.

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

Dotyczy