c语言sqlite3查询数据
时间: 2023-07-30 17:05:09 浏览: 118
要在C语言中使用SQLite3查询数据,需要使用SQLite3提供的API函数。以下是一个简单的例子:
```c
#include <stdio.h>
#include <stdlib.h>
#include <sqlite3.h>
int main() {
sqlite3 *db;
char *err_msg = 0;
int rc = sqlite3_open("example.db", &db);
if (rc != SQLITE_OK) {
fprintf(stderr, "Cannot open database: %s\n", sqlite3_errmsg(db));
sqlite3_close(db);
return 1;
}
char *sql = "SELECT * FROM users";
rc = sqlite3_exec(db, sql, callback, 0, &err_msg);
if (rc != SQLITE_OK ) {
fprintf(stderr, "Failed to select data: %s\n", sqlite3_errmsg(db));
sqlite3_free(err_msg);
sqlite3_close(db);
return 1;
}
sqlite3_close(db);
return 0;
}
static int callback(void *data, int argc, char **argv, char **az_col_name) {
for (int i = 0; i < argc; i++) {
printf("%s = %s\n", az_col_name[i], argv[i] ? argv[i] : "NULL");
}
printf("\n");
return 0;
}
```
在这个例子中,我们首先打开一个名为"example.db"的SQLite3数据库。然后我们通过一个SQL语句查询名为"users"的表中的所有数据。查询的结果会通过回调函数`callback`返回。最后我们关闭了数据库连接。
回调函数`callback`会在每一行查询结果返回时被调用。在这个例子中,我们只是简单地输出查询结果。你可以根据自己的需要对其进行修改。
阅读全文