C++ sqlite3查询某个表的数据
时间: 2023-11-22 11:54:55 浏览: 99
你可以使用 SQLite3 提供的 C/C++ API 来查询某个表的数据。以下是一个简单的示例代码,可以帮助你快速开始:
```c++
#include <iostream>
#include <sqlite3.h>
int main(int argc, char* argv[]) {
sqlite3* db;
char* errMsg;
int rc = sqlite3_open("example.db", &db);
if (rc != SQLITE_OK) {
std::cerr << "Cannot open database: " << sqlite3_errmsg(db) << std::endl;
sqlite3_close(db);
return 1;
}
const char* sql = "SELECT * FROM my_table;";
sqlite3_stmt* stmt;
rc = sqlite3_prepare_v2(db, sql, -1, &stmt, nullptr);
if (rc != SQLITE_OK) {
std::cerr << "Cannot prepare statement: " << sqlite3_errmsg(db) << std::endl;
sqlite3_close(db);
return 1;
}
while (sqlite3_step(stmt) == SQLITE_ROW) {
int id = sqlite3_column_int(stmt, 0);
const char* name = reinterpret_cast<const char*>(sqlite3_column_text(stmt, 1));
double score = sqlite3_column_double(stmt, 2);
std::cout << "id = " << id << ", name = " << name << ", score = " << score << std::endl;
}
sqlite3_finalize(stmt);
sqlite3_close(db);
return 0;
}
```
这个示例代码假设你已经创建了一个名为 example.db 的 SQLite3 数据库,并且其中有一个名为 my_table 的表。在这个表中,有三个列:id、name 和 score。
在代码中,我们使用 sqlite3_open 函数打开数据库,并使用 sqlite3_prepare_v2 函数准备 SQL 语句。然后,我们使用 sqlite3_step 函数来逐行读取查询结果,并使用 sqlite3_column_xxx 函数获取每一行的列数据。最后,我们使用 sqlite3_finalize 函数释放资源,关闭数据库连接。
请注意,这只是一个简单的示例代码,并且没有对错误进行详细处理。在实际使用中,你需要根据具体的情况进行适当的错误处理。
阅读全文