阅读量:0
在C++中使用SQLite3数据库时,需要包含SQLite3的头文件,并使用SQLite3的API进行数据库操作。以下是一个简单的示例代码,演示如何使用SQLite3在C++中创建数据库、创建表、插入数据、查询数据等操作:
#include #include 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
函数的第三个参数是一个回调函数,用来处理查询结果。在实际使用中,需要根据具体需求来调整和完善代码。