如何用C++实现数据库的增删改查

avatar
作者
筋斗云
阅读量:0

在C++中实现数据库的增删改查,通常需要使用数据库连接库,例如MySQL的C++连接器(MariaDB)、SQLite的C++接口等。下面是一个使用SQLite的C++接口实现增删改查的基本示例:

  1. 首先,需要包含SQLite的头文件并链接SQLite库。
#include <sqlite3.h> 
  1. 创建数据库连接。
sqlite3* db; int rc = sqlite3_open("test.db", &db); if (rc) {     fprintf(stderr, "Can't open database: %s\n", sqlite3_errmsg(db));     return 0; } 
  1. 创建表。
const char* sql = "CREATE TABLE IF NOT EXISTS users (id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT NOT NULL, age INTEGER NOT NULL);"; rc = sqlite3_exec(db, sql, 0, 0, 0); if (rc != SQLITE_OK) {     fprintf(stderr, "SQL error: %s\n", sqlite3_errmsg(db)); } 
  1. 插入数据(增)。
sql = "INSERT INTO users (name, age) VALUES ('John Doe', 30);"; rc = sqlite3_exec(db, sql, 0, 0, 0); 
  1. 查询数据(查)。
sql = "SELECT * FROM users;"; rc = sqlite3_exec(db, sql, callback, 0, 0);  int callback(void* data, int argc, char** argv, char** azColName) {     for (int i = 0; i < argc; i++) {         printf("%s = %s\n", azColName[i], argv[i] ? argv[i] : "NULL");     }     printf("\n");     return 0; } 
  1. 更新数据(改)。
sql = "UPDATE users SET age = 31 WHERE name = 'John Doe';"; rc = sqlite3_exec(db, sql, 0, 0, 0); 
  1. 删除数据(删)。
sql = "DELETE FROM users WHERE name = 'John Doe';"; rc = sqlite3_exec(db, sql, 0, 0, 0); 
  1. 关闭数据库连接。
sqlite3_close(db); 

以上是一个简单的示例,实际应用中可能需要处理更复杂的情况,例如错误处理、事务处理、参数化查询等。同时,也需要注意内存管理和安全性问题。在实际项目中,通常会使用成熟的C++数据库连接库来简化开发过程并提高代码质量。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!