c++中sqlite3的用法是什么

655Z技术栈 C/C++编程 / SQLite 2025年08月04日 8

在C++中使用SQLite3数据库时,需要包含SQLite3的头文件,并使用SQLite3的API进行数据库操作。以下是一个简单的示例代码,演示如何使用SQLite3在C++中创建数据库、创建表、插入数据、查询数据等操作:

#include <iostream> #include <sqlite3.h> int main() { sqlite3* db; char* errorMessage; // 打开数据库 int rc = sqlite3_open("test.db", &db); if (rc) { std::cerr << "Can't open database: " << sqlite3_errmsg(db) << std::endl; return 1; } else { std::cout << "Opened database successfully" << std::endl; } // 创建表 const char* sql = "CREATE TABLE COMPANY(" "ID INT PRIMARY KEY NOT NULL," "NAME TEXT NOT NULL," "AGE INT NOT NULL," "ADDRESS CHAR(50)," "SALARY REAL );"; rc = sqlite3_exec(db, sql, NULL, 0, &errorMessage); if (rc != SQLITE_OK) { std::cerr << "SQL error: " << errorMessage << std::endl; sqlite3_free(errorMessage); } else { std::cout << "Table created successfully" << std::endl; } // 插入数据 sql = "INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) " "VALUES (1, 'Paul', 32, 'California', 20000.00);"; rc = sqlite3_exec(db, sql, NULL, 0, &errorMessage); if (rc != SQLITE_OK) { std::cerr << "SQL error: " << errorMessage << std::endl; sqlite3_free(errorMessage); } else { std::cout << "Record inserted successfully" << std::endl; } // 查询数据 sql = "SELECT * FROM COMPANY;"; rc = sqlite3_exec(db, sql, callback, 0, &errorMessage); if (rc != SQLITE_OK) { std::cerr << "SQL error: " << errorMessage << std::endl; sqlite3_free(errorMessage); } // 关闭数据库 sqlite3_close(db); return 0; }

在上面的示例中,我们首先使用sqlite3_open函数打开一个名为test.db的数据库,然后使用sqlite3_exec函数执行SQL语句来创建表、插入数据和查询数据。需要注意的是,sqlite3_exec函数的第三个参数是一个回调函数,用来处理查询结果。在实际使用中,需要根据具体需求来调整和完善代码。

提供PHP及ThinkPHP框架的定制开发、代码优化,PHP修改、ThinkPHP修改。

邮箱:yvsm@163.com 微信:yvsm316 QQ:316430983
关闭

用微信“扫一扫”