Bei einem Fetch langer Zeichenfolgenwerte oder von Binärdaten stehen Methoden bereit, mit den Sie Daten in Teilen abrufen können. Verwenden Sie bei Binärdaten die GetBytes-Methode, bei Zeichenfolgendaten die GetChars-Methode. Sonst werden BLOB-Daten in derselben Art verarbeitet wie andere Daten, die Sie aus der Datenbank abrufen.
Weitere Hinweise finden Sie unter GetBytes-Methode und GetChars-Methode.
Deklarieren und initialisieren Sie ein Connection-Objekt.
Öffnen Sie die Verbindung.
Fügen Sie ein Command-Objekt hinzu, um eine SQL-Anweisung zu definieren und auszuführen.
SACommand cmd = new SACommand( "SELECT int_col, blob_col FROM test", conn ); |
Rufen Sie die ExecuteReader-Methode auf, um das DataReader-Objekt zurückzugeben.
SADataReader reader = cmd.ExecuteReader(); |
Der folgende Beispielcode liest die beiden Spalten aus der Ergebnismenge ein. Die erste Spalte hat den Datentyp INTEGER (GetInt32( 0 )
), die zweite LONG VARCHAR. GetChars wird benutzt, um jeweils 100 Zeichen aus der LONG VARCHAR-Spalte einzulesen.
int length = 100; char[] buf = new char[ length ]; int intValue; long dataIndex = 0; long charsRead = 0; long blobLength = 0; while( reader.Read() ) { intValue = reader.GetInt32( 0 ); while ( ( charsRead = reader.GetChars( 1, dataIndex, buf, 0, length ) ) == ( long ) length ) { dataIndex += length; } blobLength = dataIndex + charsRead; } |
Schließen Sie die DataReader- und Connection-Objekte.
reader.Close(); conn.Close(); |
Kommentieren Sie diese Seite in DocCommentXchange. Senden Sie uns Feedback über diese Seite via E-Mail. |
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |