Freigeben über


SqlDataReader.GetBytes(Int32, Int64, Byte[], Int32, Int32) Methode

Definition

Liest einen Datenstrom von Bytes ab dem angegebenen Pufferoffset als Array aus dem angegebenen Spaltenoffset in den Puffer ein.

public:
 override long GetBytes(int i, long dataIndex, cli::array <System::Byte> ^ buffer, int bufferIndex, int length);
public override long GetBytes (int i, long dataIndex, byte[] buffer, int bufferIndex, int length);
override this.GetBytes : int * int64 * byte[] * int * int -> int64
Public Overrides Function GetBytes (i As Integer, dataIndex As Long, buffer As Byte(), bufferIndex As Integer, length As Integer) As Long

Parameter

i
Int32

Die nullbasierte Ordnungszahl der Spalte.

dataIndex
Int64

Der Index innerhalb des Felds, an dem der Lesevorgang gestartet werden soll.

buffer
Byte[]

Der Puffer, in den der Bytedatenstrom gelesen werden soll.

bufferIndex
Int32

Der Index im buffer, an dem der Schreibvorgang beginnen soll.

length
Int32

Die maximale Länge, die in den Puffer kopiert werden soll.

Gibt zurück

Die tatsächlich gelesene Anzahl von Bytes.

Implementiert

Hinweise

GetBytes gibt die Anzahl der verfügbaren Bytes im Feld zurück. Meistens ist dies die genaue Länge des Felds. Die zurückgegebene Zahl kann jedoch kleiner als die wahre Länge des Felds sein, wenn GetBytes bereits zum Abrufen von Bytes aus dem Feld verwendet wurde. Dies kann beispielsweise der Fall sein, wenn eine SqlDataReader große Datenstruktur in einen Puffer gelesen wird. Weitere Informationen finden Sie in der SequentialAccess Einstellung für CommandBehavior.

Wenn Sie einen Puffer übergeben, GetBytes gibt nulldie Länge des gesamten Felds in Bytes und nicht die verbleibende Größe basierend auf dem Pufferoffsetparameter zurück.

Es werden keine Konvertierungen durchgeführt. Daher müssen die abgerufenen Daten bereits ein Bytearray sein.

Gilt für: