c++连接sqlite数据库
时间: 2023-11-18 08:48:24 浏览: 81
C++连接sqlite数据库
3星 · 编辑精心推荐
在C语言中连接SQLite数据库需要使用SQLite提供的C API。以下是连接SQLite数据库的步骤:
1. 引入SQLite的头文件
```c
#include <sqlite3.h>
```
2. 定义一个指向sqlite3数据库的指针变量,并打开数据库
```c
sqlite3* db;
int rc = sqlite3_open("test.db", &db);
if (rc != SQLITE_OK) {
fprintf(stderr, "Cannot open database: %s\n", sqlite3_errmsg(db));
sqlite3_close(db);
return 1;
}
```
其中,test.db是数据库文件名,如果文件不存在则会创建一个新的数据库文件。
3. 执行SQL语句
```c
char* sql = "CREATE TABLE IF NOT EXISTS users (id INTEGER PRIMARY KEY, name TEXT, age INTEGER)";
rc = sqlite3_exec(db, sql, NULL, NULL, NULL);
if (rc != SQLITE_OK) {
fprintf(stderr, "SQL error: %s\n", sqlite3_errmsg(db));
sqlite3_close(db);
return 1;
}
```
以上代码创建了一个名为users的表,包含id、name、age三个字段。
4. 关闭数据库连接
```c
sqlite3_close(db);
```
完整代码如下:
```c
#include <stdio.h>
#include <sqlite3.h>
int main(int argc, char* argv[]) {
sqlite3* db;
int rc = sqlite3_open("test.db", &db);
if (rc != SQLITE_OK) {
fprintf(stderr, "Cannot open database: %s\n", sqlite3_errmsg(db));
sqlite3_close(db);
return 1;
}
char* sql = "CREATE TABLE IF NOT EXISTS users (id INTEGER PRIMARY KEY, name TEXT, age INTEGER)";
rc = sqlite3_exec(db, sql, NULL, NULL, NULL);
if (rc != SQLITE_OK) {
fprintf(stderr, "SQL error: %s\n", sqlite3_errmsg(db));
sqlite3_close(db);
return 1;
}
sqlite3_close(db);
return 0;
}
```
阅读全文