SQLite 是一个轻量级的数据库,它以其小巧的体积、高效的性能和跨平台的特点而受到广泛欢迎。在 C++ 开发中,利用 SQLite 可以极大地提升应用程序的数据处理能力。本文将探讨如何在 C++ 中...
SQLite 是一个轻量级的数据库,它以其小巧的体积、高效的性能和跨平台的特点而受到广泛欢迎。在 C++ 开发中,利用 SQLite 可以极大地提升应用程序的数据处理能力。本文将探讨如何在 C++ 中高效应用 SQLite 数据库。
SQLite 是一个自包含、无服务器、零配置的数据库引擎。它不需要服务器进程,也不需要单独的守护进程。SQLite 的核心是一个单一的跨平台文件,这个文件包含了数据库的所有内容。
要在 C++ 中使用 SQLite,你需要包含 SQLite 的头文件,并链接到 SQLite 的库文件。以下是一个简单的示例,展示了如何在 C++ 中创建一个 SQLite 数据库并插入数据。
#include sqlite3 *db;
int rc = sqlite3_open("example.db", &db);
if (rc) { fprintf(stderr, "无法打开数据库: %s\n", sqlite3_errmsg(db)); sqlite3_close(db); return 1;
}const char *sql = "CREATE TABLE IF NOT EXISTS COMPANY(" \ "ID INT PRIMARY KEY NOT NULL," \ "NAME TEXT NOT NULL," \ "AGE INT NOT NULL," \ "ADDRESS CHAR(50)," \ "SALARY REAL);";
rc = sqlite3_exec(db, sql, 0, 0, 0);
if (rc != SQLITE_OK) { fprintf(stderr, "SQL 错误: %s\n", sqlite3_errmsg(db)); sqlite3_close(db); return 1;
}const char *sql = "INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) VALUES (1, 'Paul', 32, 'California', 20000.00);";
rc = sqlite3_exec(db, sql, 0, 0, 0);
if (rc != SQLITE_OK) { fprintf(stderr, "SQL 错误: %s\n", sqlite3_errmsg(db)); sqlite3_close(db); return 1;
}sqlite3_stmt *res;
const char *sql = "SELECT id, name, age, address, salary FROM COMPANY";
rc = sqlite3_prepare_v2(db, sql, -1, &res, 0);
while (sqlite3_step(res) == SQLITE_ROW) { int id = sqlite3_column_int(res, 0); char *name = (char *)sqlite3_column_text(res, 1); int age = sqlite3_column_int(res, 2); char *address = (char *)sqlite3_column_text(res, 3); double salary = sqlite3_column_double(res, 4); printf("ID: %d\n", id); printf("NAME: %s\n", name); printf("AGE: %d\n", age); printf("ADDRESS: %s\n", address); printf("SALARY: %.2f\n", salary);
}
sqlite3_finalize(res);sqlite3_close(db);SQLite 是一个功能强大且易于使用的数据库,它在 C++ 开发中的应用非常广泛。通过上述示例,我们可以看到如何使用 SQLite 在 C++ 中进行数据库操作。掌握 SQLite,可以极大地加速 C++ 开发过程,提高应用程序的数据处理能力。