I can run sqlite3_exec () successfully for the first time, then continue run sqlite3_exec() returns nothing. static int callback(void *ret, int argc, char **argv, char **azColName) { int i; static int len = 0; for(i=0; i<argc; i++){ len += snprintf ( ret + len, CONTENT_SIZE - len ," %s ",argv[i] ? argv[i] : "NULL" ); } len += snprintf ( ret + len, CONTENT_SIZE - len ,"<br>" ); return 0; } main() { char ret[8096]; rc = sqlite3_exec(db, sql, callback, ret, &zErrMsg); } Can you please advise some suggestions ? Thanks, Forrest