2023-04-26 简述C语言调用sqlite3数据库
在C语言中调用SQLite数据库,首先需要安装SQLite3库。以下是一个简单的例子,展示了如何在C语言程序中打开数据库、执行查询以及关闭数据库。
#include <stdio.h>
#include <stdlib.h>
#include <sqlite3.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;
rc = sqlite3_open("test.db", &db);
if (rc) {
fprintf(stderr, "Can't open database: %s\n", sqlite3_errmsg(db));
sqlite3_close(db);
return 1;
} else {
fprintf(stderr, "Opened database successfully\n");
}
const char *sql = "SELECT * FROM COMPANY;";
rc = sqlite3_exec(db, sql, callback, 0, &zErrMsg);
if (rc != SQLITE_OK) {
fprintf(stderr, "SQL error: %s\n", zErrMsg);
sqlite3_free(zErrMsg);
} else {
fprintf(stdout, "Query performed successfully\n");
}
sqlite3_close(db);
return 0;
}
确保在编译时链接SQLite3库:
gcc your_program.c -o your_program -lsqlite3
这个例子中,我们首先尝试打开名为 "test.db" 的SQLite数据库。如果数据库打开成功,我们执行一个选择查询(SELECT),并且对于返回的每一行,调用回调函数 callback
打印出列名和对应的值。最后,数据库被关闭。如果在执行过程中出现错误,错误信息将被打印出来。
评论已关闭