Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 12.0.1 (Deutsch) » SQL Anywhere Server - Programmierung » .NET-Anwendungsprogrammierung » SQL Anywhere .NET-Datenprovider » Datenzugriff und Datenverarbeitung

 

BLOBs

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.

Der folgende Beispielcode liest drei Spalten aus der Ergebnismenge ein. Die ersten beiden Spalten sind Ganzzahlen, während die dritte LONG VARCHAR ist. Die Länge der Spalte wird berechnet, indem diese Spalte mit der GetChars-Methode in Abschnitten von 100 Zeichen gelesen wird.



SAConnection conn = new SAConnection( "Data Source=SQL Anywhere 12 Demo" );
conn.Open();
SACommand cmd = new SACommand("SELECT * FROM MarketingInformation", conn);
SADataReader reader = cmd.ExecuteReader();

int idValue;
int productIdValue;
int length = 100;
char[] buf = new char[length];
while (reader.Read())
{
    idValue = reader.GetInt32(0);
    productIdValue = reader.GetInt32(1);
    long blobLength = 0;
    long charsRead;
    while ((charsRead = reader.GetChars(2, blobLength, buf, 0, length))
            == (long)length)
    {
        blobLength += charsRead;
    }
    blobLength += charsRead;
}
reader.Close();
conn.Close();
 Siehe auch