插入
密碼:
\n"); cgiHtmlEscape(username); fprintf(cgiOut, "\n"); char password[241]; cgiFormString("password", password, 241); fprintf(cgiOut, "password:
\n"); cgiHtmlEscape(password); fprintf(cgiOut, "\n"); char sql[300]={'\0'}; //不能用指針! //插入數據 sprintf(sql, "INSERT INTO \"user\" VALUES('%s', '%s');", username,password); //sql = "INSERT INTO \"user\" VALUES('username', 'password');" ; sqlite3_exec( db , sql , 0 , 0 , &zErrMsg ); printf(sql); printf("插入數據成功!\n"); int nrow = 0, ncolumn = 0; char **azResult; //二維數組存放結果 //查詢數據 /* int sqlite3_get_table(sqlite3*, const char *sql,char***result , int *nrow , int *ncolumn ,char **errmsg ); result中是以數組的形式存放你所查詢的數據,首先是表名,再是數據。 nrow ,ncolumn分別為查詢語句返回的結果集的行數,列數,沒有查到結果時返回0 */ char *sql2 = "SELECT * FROM user"; sqlite3_get_table( db , sql2 , &azResult , &nrow , &ncolumn , &zErrMsg ); int i = 0 ; printf( "row:%d column=%d
" , nrow , ncolumn ); printf( "\nThe result of querying is : \n" ); for( i=0 ; i<( nrow + 1 ) * ncolumn ; i++ ) printf( "azResult[%d] = %s
", i , azResult[i] ); //釋放掉 azResult 的內存空間 sqlite3_free_table( azResult ); sqlite3_close(db); //關閉數據庫 return 0; } 請注意數據庫文件 test.db的訪問權限! 這里改成777!