linux c/c++使用sqlite3读取数据
在Linux环境下,使用C或C++语言读取SQLite3数据库的一个基本示例如下:
#include <sqlite3.h>
#include <stdio.h>
static int callback(void *NotUsed, 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;
}
int main() {
sqlite3 *db;
char *zErrMsg = 0;
int rc;
const char *sql;
// 打开数据库
rc = sqlite3_open("test.db", &db);
if (rc) {
fprintf(stderr, "无法打开数据库: %s\n", sqlite3_errmsg(db));
sqlite3_close(db);
return 1;
}
// 执行SQL查询
sql = "SELECT * FROM your_table_name;";
rc = sqlite3_exec(db, sql, callback, 0, &zErrMsg);
if (rc != SQLITE_OK) {
fprintf(stderr, "SQL错误: %s\n", zErrMsg);
sqlite3_free(zErrMsg);
}
// 关闭数据库连接
sqlite3_close(db);
return 0;
}
确保在编译时链接SQLite3库:
gcc -o sqlite_reader sqlite_reader.c -lsqlite3
在这个示例中,test.db
是数据库文件名,your_table_name
需要替换为实际的表名。sqlite3_exec
函数用于执行SQL语句,并且提供了一个回调函数callback
来处理查询结果。这个回调函数会为查询结果中的每一行打印列名和对应的值。
评论已关闭