c++ sqlite3 获取table名称
时间: 2024-02-25 21:51:41 浏览: 180
要获取SQLite3数据库中的表名,可以使用如下的C++代码示例:
```cpp
#include <sqlite3.h>
#include <iostream>
int main(int argc, char* argv[]) {
sqlite3* db;
char* errMsg = nullptr;
int rc = sqlite3_open("database.db", &db);
if (rc != SQLITE_OK) {
std::cerr << "Error opening database: " << sqlite3_errmsg(db) << std::endl;
sqlite3_close(db);
return rc;
}
sqlite3_stmt* stmt = nullptr;
const char* query = "SELECT name FROM sqlite_master WHERE type='table' ORDER BY name;";
rc = sqlite3_prepare_v2(db, query, -1, &stmt, nullptr);
if (rc != SQLITE_OK) {
std::cerr << "Error preparing statement: " << sqlite3_errmsg(db) << std::endl;
sqlite3_close(db);
return rc;
}
while (sqlite3_step(stmt) == SQLITE_ROW) {
std::cout << sqlite3_column_text(stmt, 0) << std::endl;
}
sqlite3_finalize(stmt);
sqlite3_close(db);
return 0;
}
```
其中,`sqlite3_prepare_v2` 函数用于编译查询语句,`sqlite3_step` 函数用于执行查询,`sqlite3_column_text` 函数用于获取查询结果中每个表名。以上代码会输出数据库中所有表的名称。
阅读全文