C++17 APl操作 Sqlite3数据库:获取数据库中所有表名
#include <iostream>
#include <memory>
#include <sqlite3.h>
int main() {
sqlite3* db;
int res = sqlite3_open("example.db", &db);
if (res) {
std::cerr << "Error opening database: " << sqlite3_errmsg(db) << std::endl;
sqlite3_close(db);
return 1;
}
sqlite3_stmt* stmt;
res = sqlite3_prepare_v2(db, "SELECT name FROM sqlite_master WHERE type='table';", -1, &stmt, NULL);
if (res) {
std::cerr << "Error preparing statement: " << sqlite3_errmsg(db) << std::endl;
sqlite3_close(db);
return 1;
}
while (sqlite3_step(stmt) == SQLITE_ROW) {
const unsigned char* tableName = sqlite3_column_text(stmt, 0);
if (tableName) {
std::cout << "Table Name: " << tableName << std::endl;
}
}
sqlite3_finalize(stmt);
sqlite3_close(db);
return 0;
}
这段代码展示了如何使用C++17和SQLite3 API打开一个数据库,准备一个查询所有表名的SQL语句,并遍历结果集打印出所有表名。在实际应用中,你需要确保处理好异常和资源管理。
评论已关闭