Udostępnij za pośrednictwem


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 wartość jest ujemna, nowa pozycja będzie poprzedzać pozycję określoną przez origin liczbę bajtów określonych przez offset. Jeśli offset wartość jest równa zero, nowa pozycja będzie pozycją określoną przez origin. Jeśli offset wartość 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 wartość jest równa zero, nowa pozycja musi być pozycją określoną przez origin. Jeśli offset jest dodatnia, nowa pozycja jest wymagana do podążania za pozycją określoną przez origin liczbę bajtów określonych przez offset.

Wyszukiwanie 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 automatycznie otwiera OracleBFile strumień.

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 OracleBFile dostępu 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