上面的例子能否用c++给出
时间: 2024-04-10 22:27:26 浏览: 11
当然可以!下面是使用 C++ 和 SQLite 添加多个值的示例代码:
```cpp
#include <iostream>
#include <sqlite3.h>
#include <vector>
int main() {
sqlite3* db;
int rc;
// 打开 SQLite 数据库
rc = sqlite3_open("database.db", &db);
if (rc != SQLITE_OK) {
std::cout << "无法打开数据库: " << sqlite3_errmsg(db) << std::endl;
return rc;
}
// 创建表格(如果不存在)
const char* createTableSQL = "CREATE TABLE IF NOT EXISTS my_table (id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT, age INTEGER)";
rc = sqlite3_exec(db, createTableSQL, nullptr, nullptr, nullptr);
if (rc != SQLITE_OK) {
std::cout << "无法创建表格: " << sqlite3_errmsg(db) << std::endl;
sqlite3_close(db);
return rc;
}
// 多个值的向量
std::vector<std::pair<std::string, int>> values = {
{"John", 25},
{"Jane", 30},
{"Bob", 35}
};
// 构建插入语句
std::string insertSQL = "INSERT INTO my_table (name, age) VALUES ";
for (size_t i = 0; i < values.size(); i++) {
insertSQL += "(\"" + values[i].first + "\", " + std::to_string(values[i].second) + ")";
if (i < values.size() - 1) {
insertSQL += ", ";
}
}
// 插入多个记录
rc = sqlite3_exec(db, insertSQL.c_str(), nullptr, nullptr, nullptr);
if (rc != SQLITE_OK) {
std::cout << "插入记录时出错: " << sqlite3_errmsg(db) << std::endl;
}
// 关闭数据库连接
sqlite3_close(db);
return 0;
}
```
在上面的示例中,我们使用 SQLite 提供的 C/C++ 接口进行数据库操作。首先,我们使用 `sqlite3_open()` 函数打开 SQLite 数据库。然后,使用 `sqlite3_exec()` 函数执行 SQL 语句来创建表格(如果不存在)。接下来,我们定义了一个向量 `values`,其中包含多个值对,每个值对应一条记录的列值。然后,我们构建插入语句 `insertSQL`,将向量中的值插入到表格中。最后,我们使用 `sqlite3_exec()` 函数执行插入语句,并在必要时处理错误。
请确保将代码中的 `"database.db"` 替换为你实际使用的数据库文件路径。