VC中用sqlite3如何获取数据库中的所有的表名?

2025-03-06 02:20:41
推荐回答(1个)
回答1:

先用sqlite3_open打开数据库,得到一个struct sqlite3的指针,例如

struct sqlite3 *db = NULL;
sqlite3_open("数据库地址" ,&db);


然后

char *szError = NULL,**dbResult;
int row,col;
int result = sqlite3_get_table( db,"SELECT name FROM sqlite_master WHERE type='table' ORDER BY name",&dbResult,&row,&col,&szError );
if( result == SQLITE_OK )
{
    //dbResult就是查询结果,row和col分别是返回结果集的行数(包含表头)和列数
    sqlite3_free_table(dbResult);
}
else
{
    //szError是错误描述信息
    sqlite3_free(szError);
}