使用sqlite3_prepare和sqlite3_step完成查询操作:
sqlite3 *sqlite3db = NULL; int rc,nCol; char *sql; sqlite3_stmt *pStmt; const char *pTail; sql="select * from Phonetable"; rc=sqlite3_prepare(sqlite3db,sql,(int)strlen(sql),&pStmt,&pTail); if(rc!=SQLITE_OK) { fprintf(stderr,"SQLerror:%s\n",sqlite3_errmsg(sqlite3db)); } rc=sqlite3_step(pStmt); nCol=sqlite3_column_count(pStmt); while(rc==SQLITE_ROW) { for(int i=0;i<nCol;i++) fprintf(stderr,"%s ",sqlite3_column_text(pStmt,i)); fprintf(stderr,"\n"); rc=sqlite3_step(pStmt); } sqlite3_finalize(pStmt); sqlite3_close(sqlite3db);
int rc; char *sql; char **result; int nRows,nCols; int nRIndex,nCIndex; sql="SELECT *FROM PHONETABLE"; rc=sqlite3_get_table(sqlite3db,sql,&result,&nRows,&nCols,&errmsg); if(rc==SQLITE_OK) { for(nRIndex=0;nRIndex<nRows;nRIndex++) { for(nCIndex=0;nCIndex<nCols;nCIndex++) printf("%s = %s\n",result[nCIndex],result[(nRIndex+1)*nCols+nCIndex]); } } sqlite3_free_table(result);//释放资源