SQLiteC/C++接口详细介绍之sqlite3类
#include <sqlite3.h>
#include <iostream>
// 示例:使用sqlite3类进行数据库操作
int main() {
sqlite3* db;
int res = sqlite3_open("example.db", &db); // 打开数据库
if (res) {
std::cerr << "数据库打开失败: " << sqlite3_errmsg(db) << std::endl;
sqlite3_close(db);
return 1;
}
const char* createTableSQL = "CREATE TABLE IF NOT EXISTS user (id INTEGER PRIMARY KEY, name TEXT, age INTEGER);";
char* errMsg = nullptr;
res = sqlite3_exec(db, createTableSQL, nullptr, nullptr, &errMsg); // 创建表格
if (res != SQLITE_OK) {
std::cerr << "创建表格失败: " << errMsg << std::endl;
sqlite3_free(errMsg);
sqlite3_close(db);
return 1;
}
sqlite3_stmt* stmt;
const char* insertSQL = "INSERT INTO user (name, age) VALUES (?, ?);";
sqlite3_prepare_v2(db, insertSQL, -1, &stmt, nullptr); // 准备插入语句
sqlite3_bind_text(stmt, 1, "Alice", -1, nullptr); // 绑定姓名参数
sqlite3_bind_int(stmt, 2, 30); // 绑定年龄参数
res = sqlite3_step(stmt); // 执行插入操作
if (res != SQLITE_DONE) {
std::cerr << "插入数据失败: " << sqlite3_errmsg(db) << std::endl;
}
sqlite3_finalize(stmt); // 释放语句对象
sqlite3_close(db); // 关闭数据库
return 0;
}
这段代码展示了如何使用sqlite3类进行数据库操作。首先,它尝试打开一个名为"example.db"的数据库文件。如果数据库不存在,它将创建一个新的数据库文件。然后,它创建了一个名为"user"的表格(如果该表格不存在的话),并准备了一条插入语句。最后,它绑定了参数并执行了这条语句,如果操作成功,它将释放语句对象并关闭数据库。如果操作失败,它将打印错误信息并在最后关闭数据库。
评论已关闭