#include <stdio.h>
#include <stdlib.h>
#include <sqlite3.h>
/**
* locate sqlite3
* gcc -o simplesqlite3 simplesqlite3.c -Wall -W -O2 -L/usr/lib -lsqlite3
*/
static int callback(void *notUsed, int argc, char *argv[], char * columnName[]) {
notUsed = NULL;
int i = 0;
for ( i =0; i < argc; i++ ) {
printf("%s=%s\n", columnName[i], argv[i] ? argv[i] : "NULL");
}
printf("\n");
return 0;
}
int main( int argc, char * argv[]) {
sqlite3* db;
char* errMsg = NULL;
int rc;
if(argc != 3) {
fprintf(stderr, "usage: %s DATABASE SQL_STATEMENT\n", argv[0]);
exit(1);
}
rc = sqlite3_open(argv[1], &db);
if(rc) {
fprintf(stderr, "Cannot open database :%s\n", sqlite3_errmsg(db));
sqlite3_close(db);
exit(1);
}
rc = sqlite3_exec(db, argv[2], callback, 0, &errMsg);
if(rc != SQLITE_OK) {
if(errMsg != NULL) {
fprintf(stderr, "sql error: %s\n", errMsg);
sqlite3_free(errMsg);
}
}
sqlite3_close(db);
return 0;
}
|