diff options
| author | Mitja Felicijan <mitja.felicijan@gmail.com> | 2025-07-05 18:16:14 +0200 |
|---|---|---|
| committer | Mitja Felicijan <mitja.felicijan@gmail.com> | 2025-07-05 18:16:14 +0200 |
| commit | d2aeab028cee5e8f4ec727df61338459ff7cc7e5 (patch) | |
| tree | d60bb9b5eb366d8e80169c02175712b31a0ca170 /c-sqlite-embed-db/main.c | |
| parent | 7c223ce41b36ec213a56d1be443a986a25399969 (diff) | |
| download | probe-d2aeab028cee5e8f4ec727df61338459ff7cc7e5.tar.gz | |
Added SQLite3 embedding
Diffstat (limited to 'c-sqlite-embed-db/main.c')
| -rw-r--r-- | c-sqlite-embed-db/main.c | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/c-sqlite-embed-db/main.c b/c-sqlite-embed-db/main.c new file mode 100644 index 0000000..ecc9c04 --- /dev/null +++ b/c-sqlite-embed-db/main.c @@ -0,0 +1,40 @@ +#include <stdio.h> +#include <stdlib.h> +#include <string.h> + +#include "sqlite3.h" +#include "data.h" + +int main(void) { + sqlite3 *db; + int rc; + + rc = sqlite3_open(":memory:", &db); + if (rc != SQLITE_OK) { + fprintf(stderr, "Cannot open database: %s\n", sqlite3_errmsg(db)); + return 1; + } + + rc = sqlite3_deserialize(db, "main", data, data_len, data_len, SQLITE_DESERIALIZE_READONLY); + if (rc != SQLITE_OK) { + fprintf(stderr, "Failed to load database: %s\n", sqlite3_errmsg(db)); + sqlite3_close(db); + return 1; + } + + printf("Database loaded successfully!\n"); + + sqlite3_stmt *stmt; + const char *sql = "SELECT name FROM sqlite_master WHERE type='table';"; + rc = sqlite3_prepare_v2(db, sql, -1, &stmt, NULL); + if (rc == SQLITE_OK) { + printf("Tables in database:\n"); + while (sqlite3_step(stmt) == SQLITE_ROW) { + printf("- %s\n", sqlite3_column_text(stmt, 0)); + } + sqlite3_finalize(stmt); + } + + sqlite3_close(db); + return 0; +} |
