[C++] sqlite3_get_table 的使用
#include <sqlite3.h>
#include <iostream>
int main() {
sqlite3 *db;
char *zErrMsg = 0;
int rc;
rc = sqlite3_open("test.db", &db);
if (rc) {
std::cerr << "无法打开数据库: " << sqlite3_errmsg(db) << std::endl;
sqlite3_close(db);
return 1;
}
const char *sql = "SELECT * FROM myTable;";
char **dbResult;
int nRow = 0, nCol = 0;
rc = sqlite3_get_table(db, sql, &dbResult, &nRow, &nCol, &zErrMsg);
if (rc != SQLITE_OK) {
std::cerr << "SQL错误: " << zErrMsg << std::endl;
sqlite3_free(zErrMsg);
} else {
for (int i = 0; i < nRow; i++) {
for (int j = 0; j < nCol; j++) {
std::cout << dbResult[j] << " ";
}
std::cout << std::endl;
}
sqlite3_free_table(dbResult);
}
sqlite3_close(db);
return 0;
}
这段代码展示了如何使用sqlite3_get_table
函数来执行一个简单的SQL查询并输出结果。首先,它尝试打开一个名为"test.db"的SQLite数据库。接着,它定义了一个SQL查询字符串并调用sqlite3_get_table
。如果查询成功,它将遍历结果并打印每一行和列的数据。最后,它释放结果并关闭数据库连接。
评论已关闭