#include <stdio.h>
#include <sqlite3.h>
int select_callback(void * data, int col_count, char ** col_values, char ** col_Name);
int main(int argc, char * argv[])
{
const char * sSQL1 = "create table users(userid varchar(20) PRIMARY KEY, age int, birthday datetime);";
char * pErrMsg = 0;
int result = 0;
sqlite3 * db = 0;
int ret = sqlite3_open("./test.db", &db);
if( ret != SQLITE_OK ) {
fprintf(stderr, "cannot open db: %s", sqlite3_errmsg(db));
return(1);
}
printf("link db success!\n");
sqlite3_exec( db, sSQL1, 0, 0, &pErrMsg );
if( ret != SQLITE_OK ){
fprintf(stderr, "SQL error: %s\n", pErrMsg);
sqlite3_free(pErrMsg);
}
result = sqlite3_exec( db, "insert into users values('zhang',20,'2011-7-23');", 0, 0, &pErrMsg);
if(result == SQLITE_OK){
printf("insert data suceess\n");
}
result = sqlite3_exec( db, "insert into users values('lisi',20,'2012-9-20');", 0, 0, &pErrMsg);
if(result == SQLITE_OK){
printf("insert data success\n");
}
printf("check data \n");
sqlite3_exec( db, "select * from users;", select_callback, 0, &pErrMsg);
sqlite3_close(db);
db = 0;
printf("close db success!\n");
return 0;
}
int select_callback(void * data, int col_count, char ** col_values, char ** col_Name)
{
int i;
for( i=0; i < col_count; i++){
printf( "%s = %s\n", col_Name[i], col_values[i] == 0 ? "NULL" : col_values[i] );//判断句
}
return 0;
}