加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

sqlite编程-列出所有表信息

发布时间:2020-12-12 20:24:03 所属栏目:百科 来源:网络整理
导读:#include sqlite3.h#include stdio.h#include string.h//回调函数int ListTablesName_callback(void *pDB,int argc,char **argv,char **azColName){ int ret; char pSqlQuerySel[128] = "select * from "; char *pError = NULL; sqlite3_stmt *pStmt = NULL;

#include <sqlite3.h>#include <stdio.h>#include <string.h>//回调函数int ListTablesName_callback(void *pDB,int argc,char **argv,char **azColName){ int ret; char pSqlQuerySel[128] = "select * from "; char *pError = NULL; sqlite3_stmt *pStmt = NULL; strcat(pSqlQuerySel,argv[0]); fprintf(stdout,"%sn",pSqlQuerySel); //准备读取数据 ret = sqlite3_prepare((sqlite3 *)pDB,pSqlQuerySel,strlen(pSqlQuerySel),&pStmt,(const char**)&pError); if (ret != SQLITE_OK) { fprintf(stderr,"sqlite3_prepare failn"); return -1; } while (1) { ret = sqlite3_step(pStmt); //移动记录集 if (ret != SQLITE_ROW) break; fprintf(stdout,"%d ",sqlite3_column_int(pStmt,0)); fprintf(stdout,"%s n",sqlite3_column_text(pStmt,1)); } return 0;}int main(){ int ret = 0; sqlite3 *pDB = NULL; sqlite3_stmt *pStmt = NULL; char *pError = NULL; char *pListTablesNameSel = (char*)"SELECT name FROM sqlite_master";//列出所以表名语句 //打开文件 ret = sqlite3_open("test.db",&pDB); if (ret != SQLITE_OK) { fprintf(stderr,"can't open database : %sn",sqlite3_errmsg(pDB)); sqlite3_close(pDB); return -1; } //查找源文件中所有表名 ret = sqlite3_exec(pDB,pListTablesNameSel,ListTablesName_callback,pDB,&pError); if (ret != SQLITE_OK) { fprintf(stderr,"list table count error: %s",sqlite3_errmsg(pDB)); sqlite3_close(pDB); return -1; } return 0;}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读