用sqlite3_get_table代替SQLite3可视化工具中输入命令行查询返回的结果
原创
©著作权归作者所有:来自51CTO博客作者JDSH0224的原创作品,请联系作者获取转载授权,否则将追究法律责任
1. 源代码
//描述:查询数据库表的字段
//参数:@pszTabName 数据库表名
// @piRowNum 返回表的行数
// @piColNum 返回表的列数
// @ppszResults 返回的结果,这个结果在使用完之后必须释放,否则导致内存泄露!
//返回:成功返回表字段信息,反之为NULL
char** CSqlApi::QueryFields(const char* pszTabName, int* piRowNum, int* piColNum)
{
int iRet;
char sql[128] = { 0 };
char** ppszResults;
char* pszErrMsg;
sprintf(sql, "SELECT * FROM %s LIMIT 1", pszTabName);
if ((iRet = sqlite3_get_table(m_pdb, sql, &ppszResults, piRowNum, piColNum, &pszErrMsg)) != SQLITE_OK)
{
OutputSqlInfo((char*)__FUNCTION__, sql, iRet);
sqlite3_free(pszErrMsg);
return NULL;
}
return ppszResults;
}
2. 可视化工具