Listing 2. Basic C API Example #include #include "sqlite.h" int callback( void *p_data, int num_fields, char **p_fields, char **p_col_names); void main() { int ret; int nrecs = 0; char *errmsg; /* Open the database. */ sqlite* p_db = sqlite_open("./db", 0777, 0); if(p_db == 0) { printf("Could not open database."); exit(1); } /* Select everything from the person table. */ ret = sqlite_exec( p_db, "SELECT * from person limit 10;", callback, &nrecs, errmsg); if(ret!=SQLITE_OK) { printf("Error on SELECT: %s.\n", errmsg); } else { printf("Retrieved %i records.\n", nrecs); } /* Delete everything from the person table. */ sqlite_exec( p_db, "DELETE * FROM person", 0,0,0); /* On second thought, don't. */ sqlite_exec(p_db, "ROLLBACK", 0, 0, 0); /* Close the database. */ sqlite_close(p_db); } int callback( void *p_data, int num_fields, char **p_fields, char **p_col_names) { int i; int *p_rn = (int*)p_data; (*p_rn)++; /* Print the field values. */ for(i=0; i < num_fields; i++) { printf("%s | " p_fields[i]); } return 0; }