Skip to main content

[C] Gestion BDD

Introduction

Le langage C supporte la gestion de base de donnée en utilisant les bibliothèques adéquates et les fonctions appropriées.

SQLite3

Exemple

#include <stdio.h>
#include <sqlite3.h>

int main() {
    sqlite3 *db;
    char *err_message = 0;

    int rc = sqlite3_open("ma_base_de_donnees.db", &db);

    if (rc != SQLITE_OK) {
        fprintf(stderr, "Impossible d'ouvrir la base de données : %s\n", sqlite3_errmsg(db));
        sqlite3_close(db);
        return 1;
    }

    const char *sql_query = "CREATE TABLE IF NOT EXISTS Utilisateurs("
                            "ID INTEGER PRIMARY KEY AUTOINCREMENT,"
                            "Nom TEXT NOT NULL,"
                            "Age INTEGER);";

    rc = sqlite3_exec(db, sql_query, 0, 0, &err_message);

    if (rc != SQLITE_OK) {
        fprintf(stderr, "Erreur lors de la création de la table : %s\n", err_message);
        sqlite3_free(err_message);
    } else {
        printf("Table créée avec succès.\n");
    }

    const char *insert_query = "INSERT INTO Utilisateurs (Nom, Age) VALUES ('Alice', 25);";

    rc = sqlite3_exec(db, insert_query, 0, 0, &err_message);

    if (rc != SQLITE_OK) {
        fprintf(stderr, "Erreur lors de l'insertion des données : %s\n", err_message);
        sqlite3_free(err_message);
    } else {
        printf("Données insérées avec succès.\n");
    }

    sqlite3_close(db);
    return 0;
}

Compilation

Si vous n'indiquez pas les bonnes options lors de la compilation, vous risquez d'obtenir des erreurs.

Voici comment compiler le code ci-dessus :

gcc main.c -o mon_programme -lsqlite3