int sqlite3_exec(
sqlite3*,
const char *sql,
int (*callback)(void*,int,char**,char**),
void *,
char **errmsg
);
Mit Hilfe dieses Befehls kann ein, oder mehrere SQL-Kommandos ausgeführt werden. Mehrere Kommandos müssen durch Semikolons getrennt werden.
Die Angabe der Callbackfunktion ist optional. Wird kein Ergebnis benötigt, kann der Parameter auf NULL gesetzt werden. Handelt es sich bei dem zweiten Parameter um einen leeren String oder um einen NULL-Wert finden keine Veränderungen in der Datenbank statt. Diese Funktion ist mit den drei zugrunde liegenden Funktion sqlite3_prepare_v2(), sqlite3_step() und Zerstörung eines prepared Statement Objekts erstellt worden. Diese Funktion kann problemlos durch die Kernfunktionen ersetzt werden.
Hier ein Beispiel für eine Callbackfunktion, die alle in der Datenbank enthaltenen Werte auf der Konsole ausgibt:
int callback(void *freier_Pointer, int Anzahl_der_Tabellenzeilen, char **Spaltenwert, char **Spaltenname) { int i; for (i = 0; i != Anzahl_der_Tabellenzeilen; ++i) { printf("%s: ",&*Spaltenname[i]); if (Spaltenwert[i]) printf("%s\n",&*Spaltenwert[i]); } return 0; }