SQLite3的API应用(续)

使用sqlite3_prepare和sqlite3_step完成查询操作:

[cpp]  view plain copy
  1. sqlite3 *sqlite3db = NULL;      
  2. int rc,nCol;  
  3. char *sql;  
  4. sqlite3_stmt *pStmt;  
  5. const char *pTail;  
  6. sql="select * from Phonetable";  
  7. rc=sqlite3_prepare(sqlite3db,sql,(int)strlen(sql),&pStmt,&pTail);  
  8. if(rc!=SQLITE_OK)  
  9. {  
  10.     fprintf(stderr,"SQLerror:%s\n",sqlite3_errmsg(sqlite3db));  
  11. }  
  12. rc=sqlite3_step(pStmt);  
  13. nCol=sqlite3_column_count(pStmt);  
  14. while(rc==SQLITE_ROW)  
  15. {  
  16.     for(int i=0;i<nCol;i++)  
  17.         fprintf(stderr,"%s  ",sqlite3_column_text(pStmt,i));  
  18.     fprintf(stderr,"\n");  
  19.     rc=sqlite3_step(pStmt);  
  20. }  
  21. sqlite3_finalize(pStmt);  
  22. sqlite3_close(sqlite3db);  

使用sqlite3_get_table完成查询操作:
[cpp]  view plain copy
  1. int rc;  
  2. char *sql;  
  3. char **result;  
  4. int nRows,nCols;  
  5. int nRIndex,nCIndex;  
  6. sql="SELECT *FROM PHONETABLE";  
  7. rc=sqlite3_get_table(sqlite3db,sql,&result,&nRows,&nCols,&errmsg);  
  8. if(rc==SQLITE_OK)  
  9. {  
  10.     for(nRIndex=0;nRIndex<nRows;nRIndex++)  
  11.     {  
  12.         for(nCIndex=0;nCIndex<nCols;nCIndex++)  
  13.             printf("%s = %s\n",result[nCIndex],result[(nRIndex+1)*nCols+nCIndex]);  
  14.     }  
  15. }  
  16. sqlite3_free_table(result);//释放资源  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值