Partager via


SqlDataReader.GetBytes(Int32, Int64, Byte[], Int32, Int32) Méthode

Définition

Lit un flux d’octets à partir du décalage de colonne spécifié dans la mémoire tampon sous la forme d’un tableau, en commençant à l’offset de la mémoire tampon donné.

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

Paramètres

i
Int32

Numéro de colonne de base zéro.

dataIndex
Int64

Index dans le champ à partir duquel commencer l’opération de lecture.

buffer
Byte[]

La mémoire tampon dans laquelle le flux d’octets doit être lu.

bufferIndex
Int32

Index figurant dans le buffer où doit commencer l'opération d'écriture.

length
Int32

Longueur maximale à copier dans la mémoire tampon.

Retours

Nombre réel d'octets lus.

Implémente

Remarques

GetBytes retourne le nombre d’octets disponibles dans le champ. La plupart du temps, il s’agit de la longueur exacte du champ. Toutefois, le nombre retourné peut être inférieur à la longueur réelle du champ si GetBytes a déjà été utilisé pour obtenir des octets du champ. Cela peut être le cas, par exemple, si le SqlDataReader lit une structure de données volumineuse dans une mémoire tampon. Pour plus d’informations, consultez le SequentialAccess paramètre pour CommandBehavior.

Si vous passez une mémoire tampon qui est null, GetBytes retourne la longueur du champ entier en octets, et non la taille restante en fonction du paramètre de décalage de la mémoire tampon.

Aucune conversion n’est effectuée ; par conséquent, les données récupérées doivent déjà être un tableau d’octets.

S’applique à