使用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);
使用sqlite3_get_table完成查询操作:
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);//释放资源