linux c/c++使用sqlite3读取数据
    		       		warning:
    		            这篇文章距离上次修改已过426天,其中的内容可能已经有所变动。
    		        
        		                
                在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来处理查询结果。这个回调函数会为查询结果中的每一行打印列名和对应的值。
评论已关闭