====== Rückgabewerte von sqlite3_step auswerten ====== ''const void *sqlite3_column_blob(sqlite3_stmt*, int iCol);\\ int sqlite3_column_bytes(sqlite3_stmt*, int iCol);\\ double sqlite3_column_double(sqlite3_stmt*, int iCol);\\ int sqlite3_column_int(sqlite3_stmt*, int iCol);\\ const unsigned char *sqlite3_column_text(sqlite3_stmt*, int iCol);\\ \\ int sqlite3_column_type(sqlite3_stmt*, int iCol);\\ \\ int sqlite3_column_count(sqlite3_stmt *pStmt);'' \\ ---- \\ Diese Befehle werden benutzt, um auf einzelne Tabellenfelder zuzugreifen. Jede dieser Funktionen erwartet ein [[dbs:sqlite:libsqlite3:ref:sqlite3_stmt|Prepared Statement]], wie es z.B. mit [[dbs:sqlite:libsqlite3:ref:sqlite3_prepare_v2|sqlite3_prepare_v2()]] erzeugt werden kann. Bis auf sqlite3_column_count erwartet auch jede dieser Funktionen die Indexnummer einer Tabellenspalte. Mittels sqlite3_column_count kann die Anzahl der Spalten festgestellt werden. Die niedrigste Indexnummer ist immer Null und bezieht sich auf die äußere linke Spalte. Zeigt das SQL-Statement nicht auf eine gültige Tabellenzeile oder ist der Index außerhalb des gültigen Bereichs, ist der Rückgabewert dieser Funktionen undefiniert. Deshalb ist es sehr sinnvoll, diese Funktionen nur aufzurufen, wenn [[dbs:sqlite:libsqlite3:ref:sqlite3_step|sqlite3_step()]] den Wert SQLITE_ROW zurückgeliefert hat und weder [[dbs:sqlite:libsqlite3:ref:sqlite3_reset|sqlite3_reset()]] noch [[dbs:sqlite:libsqlite3:ref:sqlite3_finalize|sqlite3_finalize()]] aufgerufen wurden. \\ sqlite3_column_blob liefert einen void-Pointer auf ein in der Datenbank gespeichertes Binärobjekt zurück.\\ sqlite3_column_bytes kann für BLOB und Stringobjekte benutzt werden, um die Größe der Objekt in Bytes zu erfahren.\\ Die nächsten drei Funktionen werden benutzt um entweder auf Gleitkomma-, Ganzzahl oder Charobjekt zuzugreifen.\\ \\ sqlite3_column_type liefert den Datentyp zurück, der sich in einer Tabellenspalte befindet. Es sind folgende Rückgabewerte möglich: * SQLITE_INTEGER bei Ganzzahlen * SQLITE_FLOAT bei Gleitkommazahlen * SQLITE_TEXT bei Strings bzw. Textchars * SQLITE_BLOB für Binärobjekte * SQLITE_NULL wenn nichts enthalten ist. \\ sqlite3_column_count liefert die Anzahl der Spalten als Integerwert zurück. Die Liste dieser Funktionsgruppe ist nicht vollständig, spezielle Funktionen sowie die Funktionen für UTF-16 codierte Strings fehlen.