0% found this document useful (0 votes)
21 views30 pages

C++ Database Project Guide

This C++ project involves creating a database to manage gas station operations. The code defines functions to open a SQLite database, execute queries, and get integer, text, and double values from queries. It also includes a function to authenticate users via a login table. The main() function contains code to configure the database by creating tables, inserting initial data, and testing the authentication function.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
21 views30 pages

C++ Database Project Guide

This C++ project involves creating a database to manage gas station operations. The code defines functions to open a SQLite database, execute queries, and get integer, text, and double values from queries. It also includes a function to authenticate users via a login table. The main() function contains code to configure the database by creating tables, inserting initial data, and testing the authentication function.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 30

Projet c++

M. Luxamar Cleevens

Rosenerlande Joseph
Wathsinger Louis Juste
Romero Yveltdo Saint Fleur
#include <iostream>

#include <vector>

#include "sqlite3.h"

#include "string.h"

#define ERRORINT -1000

#define ERRORDOUBLE -1000.0

using namespace std;

sqlite3* openDb(string dbName)

sqlite3* dataBase = NULL;

int resultat = sqlite3_open(dbName.c_str(),&dataBase);

return dataBase;

int requete(sqlite3* dataBase,string query)

sqlite3_stmt* statement;

int resultat = sqlite3_prepare_v2(dataBase,query.c_str(),-1,&statement,NULL);

sqlite3_step(statement);

sqlite3_finalize(statement);

if(resultat == SQLITE_OK)

return 1;

else

{
return ERRORINT;

int getInt(sqlite3* dataBase,string query)

sqlite3_stmt* statement;

int resultat, requete ;

requete = sqlite3_prepare_v2(dataBase,query.c_str(),-1,&statement,NULL);

if(requete == SQLITE_OK && sqlite3_step(statement)== SQLITE_ROW)

resultat = sqlite3_column_int(statement,0);

sqlite3_finalize(statement);

return resultat;

else

return ERRORINT;

int getListeInt(sqlite3* dataBase,string query,int tab[])

sqlite3_stmt* statement;

int i=0, requete = sqlite3_prepare_v2(dataBase,query.c_str(),-1,&statement,NULL);

if(requete == SQLITE_OK)

while(sqlite3_step(statement)== SQLITE_ROW)

{
tab[i++] = sqlite3_column_int(statement,0);

sqlite3_finalize(statement);

return 1;

else

return ERRORINT;

string getListeText(sqlite3* dataBase,string query,string tab[])

sqlite3_stmt* statement;

string resultat ="ok";

int i=0,requete = sqlite3_prepare_v2(dataBase,query.c_str(),-1,&statement,NULL);

if(requete == SQLITE_OK)

while(sqlite3_step(statement)== SQLITE_ROW)

std::string resultat(reinterpret_cast<const char*>(sqlite3_column_text(statement,0)));

tab[i++] = resultat;

return resultat;
}

else

return NULL;

string getText(sqlite3* dataBase,string query,int position)

sqlite3_stmt* statement;

string resultat;

int requete = sqlite3_prepare_v2(dataBase,query.c_str(),-1,&statement,NULL);

if(requete == SQLITE_OK && sqlite3_step(statement)== SQLITE_ROW)

if(sqlite3_step(statement)== SQLITE_ROW)

std::string resultat(reinterpret_cast<const char*>(sqlite3_column_text(statement,position-


1)));

return resultat;

//strcpy(resultat,sqlite3_column_text(statement,0));

//sqlite3_finalize(statement);

//return resultat;

else

return NULL;

}
else

return NULL;

double getDouble(sqlite3* dataBase,string query,int position)

sqlite3_stmt* statement;

int requete = sqlite3_prepare_v2(dataBase,query.c_str(),-1,&statement,NULL);

double resultat=ERRORDOUBLE;

if(requete == SQLITE_OK)

if(sqlite3_step(statement)== SQLITE_ROW)

resultat = sqlite3_column_double(statement,0);

sqlite3_finalize(statement);

return resultat;

else

return ERRORDOUBLE;

else

return ERRORDOUBLE;

}
void config(){

sqlite3* db;

string dbName="db/bongaz.db";

int resultat;

db = openDb(dbName);

if(db==NULL)

cout<<"une erreur s'est produite lors de l'ouverture";

else

cout<<"ouverture effectuee avec succes";

string query="create table flux(id_flux int, date varchar(60), id_pers int,id_station int, type_flux
varchar(50) check(type_flux in ('vente', 'approvisionnement', 'livraison')), type_marchandise
varchar(50) check(type_marchandise in('gazoline','diesel','kerozene','propane')), unite varchar(5)
check(unite in('l','gal','m3','lb')), quantite double, prix_unitaire double,primary key(id_flux),foreign
key (id_pers) references personne(id_pers),foreign key (id_station) references station(id_station));";

requete(db,query);

query= "create table station(id_station int, nom_station varchar(20), adresse varchar(100),primary


key(id_station));";

requete(db,query);

query="create table personne(id_pers int,Nom varchar(10),Prenom varchar(20),NumeroSocial


varchar(15),Sexe varchar(3),Adresse Varchar(15),DateNaissance varchar(15),Fonction Varchar(10)
check(Fonction in('Pompiste','Chauffeur','Manager','Client','Fournisseur')),primary key(id_pers));";

requete(db,query);

query="create table camion(id_cam int, type_marchandise varchar(50) check(type_marchandise


in('gazoline','diesel','kerozene','propane')),capacitemax double,niveauactuel double,primary
key(id_cam));";

requete(db,query);

query="create table citerne (id_cit int,nom_cit varchar(15),id_station int,type_marchandise


varchar(50) check(type_marchandise in('gazoline','diesel','kerozene','propane')), unite varchar(5)
check(unite in('l','gal','m3','lb')), capacitemax double,capacitemin double,niveauactuel
double,primary key(id_station),foreign key (id_station) references station(id_station));";

requete(db,query);

query="create table conduit (id_chauffeur int,id_camID int,id_fluxID int,foreign key (id_chauffeur)


references personne(id_pers),foreign key (id_camID) references camion(id_cam),foreign key
(id_fluxID) references flux(id_flux));";

requete(db,query);

query="create table login(username varchar(20),mots_de_passe varchar(20),id_pers int,foreign


key (id_pers) references personne(id_pers));";

requete(db,query);

query="create table unite_volume(type_marchandise varchar(10) check(type_marchandise


in('gazoline','diesel','kerozene','propane')),unite varchar(5) check(unite in('l','gal','m3','lb')),reference
varchar(20) check(reference in('approvisionnement','vente','stockage')));";

requete(db,query);

query="create table travail(id_station int,id_pers int,foreign key (id_station) references


station(id_station),foreign key (id_pers) references personne(id_pers));";

requete(db,query);

/*-------------------------Insertion a la main----------------------------*/

query="insert into station (id_station, nom_station , adresse) VALUES (111, 'Station A', 'SANTO');";

requete(db,query);

query="insert into station (id_station, nom_station , adresse) VALUES (112, 'Station B',
'DELMAS');";

requete(db,query);

query="insert into station (id_station, nom_station , adresse) VALUES (113, 'Station C', 'PETION-
VILLE');";

requete(db,query);

query="insert into station (id_station, nom_station , adresse) VALUES (114, 'Station D',
'CLERCINE');";

requete(db,query);

query="insert into
personne(id_pers,Nom,Prenom,NumeroSocial,Sexe,Adresse,DateNaissance,Fonction) values
(001,'Frantz','Pierre','001-909-90AB','Mas','SANTO','20-04-1999','Pompiste');";

requete(db,query);
query="insert into
personne(id_pers,Nom,Prenom,NumeroSocial,Sexe,Adresse,DateNaissance,Fonction) values
(002,'Dabaschy','Nelson','001-999-91CB','Mas','DELMAS','20-04-1997','Chauffeur');";

requete(db,query);

query="insert into
personne(id_pers,Nom,Prenom,NumeroSocial,Sexe,Adresse,DateNaissance,Fonction) values
(003,'Vensky','Roubens','001-909-12DB','Mas','PETION-VILLE','20-04-1999','Manager');";

requete(db,query);

query="insert into
personne(id_pers,Nom,Prenom,NumeroSocial,Sexe,Adresse,DateNaissance,Fonction) values(004,
'Jean', 'Fritz', '002-058-3L', 'Mas', 'SANTO', '23-05-1990', 'pompiste');";

requete(db,query);

query="insert into
personne(id_pers,Nom,Prenom,NumeroSocial,Sexe,Adresse,DateNaissance,Fonction) values(005,
'Petter', 'Petterlee', '003-578-14M', 'Fem', 'CARADEUX', '15-12-1987', 'Chauffeur');";

requete(db,query);

query="insert into camion(id_cam, type_marchandise, capacitemax, niveauactuel) values (14227,


'gazoline', 150.0, 14.7);";

requete(db,query);

query="insert into camion(id_cam, type_marchandise, capacitemax, niveauactuel) values (18963,


'diesel', 200.0, 26.3);";

requete(db,query);

query="insert into login (username,mots_de_passe,id_pers) values ('Rose','Dabaschy12',243);";

requete(db,query);

int rc=requete(db,query);

if (rc != SQLITE_OK)

cout << "\n.... ! : " << sqlite3_errmsg(db) <<"\n\n";

else

cout << "Query OK !";

bool authenticateUser(sqlite3* db, const std::string& username, const std::string& mots_de_passe)

const char* query = "SELECT COUNT(*) FROM login WHERE username = ? AND mots_de_passe
= ?";

sqlite3_stmt* stmt;
int rc = sqlite3_prepare_v2(db, query, -1, &stmt, nullptr);

if (rc != SQLITE_OK) {

std::cerr << "Erreur lors de la préparation de la requête : " << sqlite3_errmsg(db) << std::endl;

return false;

sqlite3_bind_text(stmt, 1, username.c_str(), -1, SQLITE_STATIC);

sqlite3_bind_text(stmt, 2, mots_de_passe.c_str(), -1, SQLITE_STATIC);

rc = sqlite3_step(stmt);

bool authenticated = false;

if (rc == SQLITE_ROW) {

int rowCount = sqlite3_column_int(stmt, 0);

if (rowCount > 0) {

authenticated = true;

sqlite3_finalize(stmt);

return authenticated;

int menu(){

int choix;

cout<<"********************** BONGAZ S.A **********************\n";

cout<<"1. vente\n";

cout<<"2. approvisionnement\n";

cout<<"3. livraison\n";
cout<<"4. station\n";

cout<<"5. employe\n";

cout<<"6. client-fournisseur\n";

cout<<"7. statistiques\n";

do{

cout<<"\n\nveuillez entrer le numero correspondant a votre choix: ";

cin>>choix;

}while(choix<1 || choix >7);

return choix;

int crud(string nom){

int choix;

cout<<"\n\n************************************ MENU "<<nom<<"


************************************\n\n";

cout<<"1. ajouter un(e) "<<nom<<"\n";

cout<<"2. afficher un(e) "<<nom<<"\n";

cout<<"3. modifier un(e) "<<nom<<"\n";

cout<<"4. supprimer un(e) "<<nom<<"\n";

do{

cout<<"\nveuillez entrer le numero correspondant a votre choix: ";

cin>>choix;

}while(choix<1 || choix >4);

return choix;

/*--------------fonction ajouter -------------------*/

void ajouter(string type){


int num, rc, maxId;

double doub;

sqlite3* db;

string carc, query,query2, dbName="db/bongaz.db";

db = openDb(dbName);

if(type=="vente"){

int nbreligne;

string listenom[nbreligne],listeprenom[nbreligne];

query="insert into flux(id_flux, date, id_pers, id_station, type_flux, type_marchandise,unite,


quantite , prix_unitaire)values(";

query2="select max(id_flux) from flux";

maxId=getInt(db,query2);

maxId++;

query =query+ to_string(maxId)+",";

cin.ignore();

cout<<"Entre la date : ";

getline(cin,carc);

query += "'"+carc+"',";

cout<<"Liste des Pompistes Disponibles :\n";

while(true){

string query2="select count(id_pers) from personne where Fonction='Pompiste';";

int nbrLigne = getInt(db,query2);

int listId[nbrLigne];

string listNom[nbrLigne], listPrenom[nbrLigne];

query2="select id_pers from personne where Fonction='Pompiste';";


int Id =getListeInt(db,query2,listId);

query2="select Nom from personne where Fonction='Pompiste';";

getListeText(db,query2,listNom);

query2="select Prenom from personne where Fonction='Pompiste';";

getListeText(db,query2,listPrenom);

cout<<"ID NOM PRENOM";

for (int i = 0; i < nbrLigne; ++i) {

cout<<"\n"<<listId[i] <<" "<<listNom[i] <<" "<<listPrenom[i];

break;

string query2="select min(id_pers) from personne;";

int minId=getInt(db,query2);

query2="select max(id_pers) from personne;";

int maxId=getInt(db,query2);

do

cout<<"\n\nEntrez L'identifiant de la personne correspondante : ";

cin>>num;

while(num<minId || num>maxId);

query = query + to_string(num) +",";

cout<<"L'identifiant de la Station : ";

cin>>num;

query = query + to_string(num)+","+ "'"+"vente"+"',";

cin.ignore();

cout<<"Le Type de Marchandise : ";

getline(cin,carc);
query = query + "'"+carc+"',";

cout<<"L'unite de volume : ";

getline(cin,carc);

query = query + "'"+carc+"',";

cout<<"La quantite : ";

cin>>doub;

query = query + to_string(doub)+",";

cout<<"Le prix unitaire : ";

cin>>num;

query = query + to_string(num)+");";

cout<<"\n\n"<<query;

rc=requete(db,query);

if (rc != SQLITE_OK)

cerr << "\n\nError ! : " << sqlite3_errmsg(db);

else

cout << "Query OK !";

else if(type=="approvisionnement"){

// query="insert into flux(id_flux, date, id_pers, id_station, type_flux, type_marchandise,unite,


quantite , prix_unitaire)values(";

query="insert into flux(id_flux, date, id_pers, id_station, type_flux, type_marchandise,unite,


quantite , prix_unitaire)values(";

query2="select max(id_flux) from flux";

maxId=getInt(db,query2);

maxId++;

query =query+ to_string(maxId)+",";

cout<<"Entre la date : ";


cin.ignore();

getline(cin,carc);

query = query + "'"+carc+"',";

/* cout<<"Liste des Fournisseurs Disponibles :\n";

while(true){

string query2="select count(id_pers) from personne where Fonction='Fournisseur';";

int nbrLigne = getInt(db,query2);

int listId[nbrLigne];

string listNom[nbrLigne], listPrenom[nbrLigne];

query2="select id_pers from personne where Fonction='Fournisseur';";

int Id =getListeInt(db,query2,listId);

query2="select Nom from personne where Fonction='Fournisseur';";

getListeText(db,query2,listNom);

query2="select Prenom from personne where Fonction='Fournisseur';";

getListeText(db,query2,listPrenom);

cout<<"ID NOM PRENOM";

for (int i = 0; i < nbrLigne; ++i) {

cout<<"\n"<<listId[i] <<" "<<listNom[i] <<" "<<listPrenom[i];

break;

}*/

cout<<"Entre le numero d'un founisseur founisseur : ";

cin.ignore();

getline(cin,carc);

query = query + "'"+carc+"',";

cout<<"L'identifiant de la Station : ";

cin>>num;

query = query + to_string(num)+","+ "'"+"approvisionnement"+"',";

cin.ignore();
cout<<"Le Type de Marchandise : ";

getline(cin,carc);

query = query + "'"+carc+"',";

cout<<"L'unite de volume : ";

getline(cin,carc);

query = query + "'"+carc+"',";

cout<<"La quantite : ";

cin>>doub;

query = query + to_string(doub)+",";

cout<<"Le prix unitaire : ";

cin>>num;

query = query + to_string(num)+");";

cout<<"\n\n"<<query;

rc=requete(db,query);

if (rc != SQLITE_OK)

cout << "\n\nError ! : " << sqlite3_errmsg(db);

else

cout << "Query OK !";

else if(type=="livraison"){

cout<<"\nAjouter les information de la livraison\n\n";

query="insert into flux(id_flux, date, id_pers, id_station, type_flux, type_marchandise,unite,


quantite , prix_unitaire)values(";

cout<<"Entre l'identifiant : ";

cin>>num;

query =query+ to_string(num)+",";


cout<<"Entre la date : ";

cin.ignore();

getline(cin,carc);

query = query + "'"+carc+"',";

cout<<"L'identifiant de la Personne : ";

cin.ignore();

cin>>num;

query = query + to_string(num) +",";

cout<<"L'identifiant de la Station : ";

cin>>num;

query = query + to_string(num)+","+ "'"+"Livraison"+"',";

cin.ignore();

cout<<"Le Type de Marchandise : ";

getline(cin,carc);

query = query + "'"+carc+"',";

cout<<"L'unite de volume : ";

getline(cin,carc);

query = query + "'"+carc+"',";

cout<<"La quantite : ";

cin>>doub;

query = query + to_string(doub)+",";

cout<<"Le prix unitaire : ";

cin>>num;

query = query + to_string(num)+");";

cout<<"\n\n"<<query;
rc=requete(db,query);

if (rc != SQLITE_OK)

cout << "\n\nError ! : " << sqlite3_errmsg(db);

else

cout << "Query OK !";

cout<<"\nAjouter les informations du client\n\n";

query="insert into
personne(id_pers ,Nom ,Prenom ,ref_station ,NumeroSocial ,Sexe ,Adresse ,DateNaissance ,Fonction
)values(";

cout<<"Entrer ID : ";

cin>>num;

query =query+ to_string(num)+",";

cout<<"Entre la date : ";

cin.ignore();

getline(cin,carc);

query = query + "'"+carc+"',";

cout<<"L'identifiant de la Personne : ";

cin.ignore();

cin>>num;

query = query + to_string(num) +",";

cout<<"L'identifiant de la Station : ";

cin>>num;

query = query + to_string(num)+","+ "'"+"Livraison"+"',";

cin.ignore();

cout<<"Le Type de Marchandise : ";

getline(cin,carc);

query = query + "'"+carc+"',";


cout<<"La quantite : ";

cin>>doub;

query = query + to_string(doub)+",";

cout<<"Le prix unitaire : ";

cin>>num;

query = query + to_string(num)+");";

cout<<"\n\n"<<query;

rc=requete(db,query);

if (rc != SQLITE_OK)

cout << "\n\nError ! : " << sqlite3_errmsg(db);

else

cout << "Query OK !";

else if(type=="station")

cout<<"\nAjouter une nouvelle station";

query="insert into station(id_station,nom_station,adresse) Values(";

cout<<" Entrer L'id Station: ";

cin>>num;

query =query+ to_string(num)+",";

cout<<"Entre le nom de la station : ";

cin.ignore();

getline(cin,carc);

query = query + "'"+carc+"',";

cout<<"Entre l'adresse de la station : ";

cin.ignore();

getline(cin,carc);

query = query + "'"+carc+"');";


cout<<"\n\n"<<query;

rc=requete(db,query);

if (rc != SQLITE_OK)

cout << "\n\nError ! : " << sqlite3_errmsg(db);

else

cout << "Query OK !";

else if (type=="employe")

string Typedaj="employe";

cout<<"\nAjouter un nouveau"<<Typedaj<<" ";

query="insert into
personne(id_pers,Nom,Prenom,NumeroSocial,Sexe,Adresse,DateNaissance,Fonction) values(";

query2="select max(id_pers) from personne";

maxId=getInt(db,query2);

maxId++;

query =query+ to_string(maxId)+",";

cout<<"Entre le nom du "<<Typedaj<<" :";

cin.ignore();

getline(cin,carc);

query = query + "'"+carc+"',";

cout<<"Entre le prenom du "<<Typedaj<<" :";

cin.ignore();

getline(cin,carc);

query = query + "'"+carc+"',";

cout<<"Entre le numero identifiant du "<<Typedaj<<" :";

cin.ignore();

getline(cin,carc);

query = query + "'"+carc+"',";

cout<<"Entre le sexe du "<<Typedaj<<" :";


cin.ignore();

getline(cin,carc);

query = query + "'"+carc+"',";

cout<<"Entre l'adresse du "<<Typedaj<<" :";

cin.ignore();

getline(cin,carc);

query = query + "'"+carc+"',";

cout<<"Entre la date naissance du "<<Typedaj<<" :";

cin.ignore();

getline(cin,carc);

query = query + "'"+carc+"',";

query=query+"'Pompiste'"");";

cout<<"\n\n"<<query;

rc=requete(db,query);

if (rc != SQLITE_OK)

cout << "\n\nError ! : " << sqlite3_errmsg(db);

else

cout << "Query OK !";

else if (type=="client-fournisseur")

int C;

string Typedaj;

cout<<"1.Client\n2.Fournisseur";

do

cout<<"\nVeuillez faire votre choix : ";

cin>>C;

cin.ignore();

while(C<1 || C>2);
{

if(C==2)

Typedaj="Fournisseur";

cout<<"\nAjouter un nouveau Fournisseur";

query="insert into
personne(id_pers,Nom,Prenom,NumeroSocial,Sexe,Adresse,DateNaissance,Fonction) values(";

query2="select max(id_pers) from personne";

maxId=getInt(db,query2);

maxId++;

query =query+ to_string(maxId)+",";

cout<<"Entre le nom du "<<Typedaj<<" :";

cin.ignore();

getline(cin,carc);

query = query + "'"+carc+"',";

cout<<"Entre le prenom du "<<Typedaj<<" :";

cin.ignore();

getline(cin,carc);

query = query + "'"+carc+"',";

cout<<"Entre le numero identifiant du "<<Typedaj<<" :";

cin.ignore();

getline(cin,carc);

query = query + "'"+carc+"',";

cout<<"Entre le sexe du "<<Typedaj<<" :";

cin.ignore();

getline(cin,carc);

query = query + "'"+carc+"',";

cout<<"Entre l'adresse du "<<Typedaj<<" :";

cin.ignore();

getline(cin,carc);

query = query + "'"+carc+"',";


cout<<"Entre la date naissance du "<<Typedaj<<" :";

cin.ignore();

getline(cin,carc);

query = query + "'"+carc+"',";

query=query+"'fournisseur'"");";

cout<<"\n\n"<<query;

rc=requete(db,query);

if (rc != SQLITE_OK)

cout << "\n\nError ! : " << sqlite3_errmsg(db);

else

cout << "Query OK !";

else if (C==1)

Typedaj="Client";

cout<<"Ajouter un nouveau Client";

query="insert into
personne(id_pers,Nom,Prenom,NumeroSocial,Sexe,Adresse,DateNaissance,Fonction) values(";

query2="select max(id_pers) from personne";

maxId=getInt(db,query2);

maxId++;

query =query+ to_string(maxId)+",";

cout<<"Entre le nom du "<<Typedaj<<" :";

cin.ignore();

getline(cin,carc);

query = query + "'"+carc+"',";

cout<<"Entre le prenom du "<<Typedaj<<" :";

cin.ignore();

getline(cin,carc);
query = query + "'"+carc+"',";

cout<<"Entre le numero identifiant du "<<Typedaj<<" :";

cin.ignore();

getline(cin,carc);

query = query + "'"+carc+"',";

cout<<"Entre le sexe du "<<Typedaj<<" :";

cin.ignore();

getline(cin,carc);

query = query + "'"+carc+"',";

cout<<"Entre l'adresse du "<<Typedaj<<" :";

cin.ignore();

getline(cin,carc);

query = query + "'"+carc+"',";

cout<<"Entre la date naissance du "<<Typedaj<<" :";

cin.ignore();

getline(cin,carc);

query = query + "'"+carc+"',";

query=query+"'fournisseur'"");";

cout<<"\n\n"<<query;

rc=requete(db,query);

if (rc != SQLITE_OK)

cout << "\n\nError ! : " << sqlite3_errmsg(db);

else

cout << "Query OK !";

}
}

void afficher(){

sqlite3* db;

string dbName="db/bongaz.db";

db = openDb(dbName);

cout<<"\nAfficher les statistiques des ventes\n\n";

string query="select id_flux,date from flux where type_flux='vente';";

int id_flux = getInt(db, query);

string date = getText(db, query,2);

//int id = getInt(db, query, 1);

cout<<id_flux<<" "<<date;

void modifier(){

cout<<"modifier";

cout<<"\nmodifier une ligne";

sqlite3* db;

int rc;

string carc, query, dbName="db/bongaz.db";


db = openDb(dbName);

query="update flux set type_flux='approvisionnement' where id_flux=909;";

cout<<"\n\n"<<query;

rc=requete(db,query);

if (rc != SQLITE_OK)

cout << "\n\nError ! : " << sqlite3_errmsg(db);

else

cout << "Query OK !";

void supprimer(){

cout<<"supprimer une ligne";

cout<<"\nsupprimer une ligne";

sqlite3* db;

int rc;

string carc, query, dbName="db/bongaz.db";

db = openDb(dbName);

query="delete from flux where id_flux=889;";

cout<<"\n\n"<<query;

rc=requete(db,query);

if (rc != SQLITE_OK)

cout << "\n\nError ! : " << sqlite3_errmsg(db);

else

cout << "Query OK !";

void statistique(){

cout<<"statistique";

int main(){
sqlite3* db;

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

config();

if (rc) {

std::cerr << "Erreur lors de l'ouverture de la base de donnees : " << sqlite3_errmsg(db) <<
std::endl;

return 1;

string username, mots_de_passe;

cout << "Nom d'utilisateur : ";

cin >> username;

cout << "Mot de passe : ";

cin >> mots_de_passe;

if (authenticateUser(db, username, mots_de_passe))

std::cout << "Authentification reussie !" << std::endl;

// Vous pouvez maintenant autoriser l'accès à l'application

int choix = menu(), choix2;

if (choix==1){

// crud("vente");

choix2=crud("vente");

if (choix2==1)

ajouter("vente");

else if (choix2==2)

afficher();

else if (choix2==3)

modifier();
else

supprimer();

else if (choix==2){

choix2=crud("approvisionnement");

if (choix2==1)

ajouter("approvisionnement");

else if (choix2==2)

afficher();

else if (choix2==3)

modifier();

else

supprimer();

else if (choix==3){

choix2=crud("livraison");

if (choix2==1)

ajouter("livraison");

else if (choix2==2)

afficher();

else if (choix2==3)

modifier();

else

supprimer();

else if (choix==4){
choix2=crud("station");

if (choix2==1)

ajouter("station");

else if (choix2==2)

afficher();

else if (choix2==3)

modifier();

else

supprimer();

else if (choix==5){

choix2=crud("employe");

if (choix2==1)

ajouter("employe");

else if (choix2==2)

afficher();

else if (choix2==3)

modifier();

else

supprimer();

else if (choix==6){

choix2=crud("client-fournisseur");

if (choix2==1)

ajouter("client-founisseur");

else if (choix2==2)

afficher();

else if (choix2==3)

modifier();
else

supprimer();

else

statistique();

else

std::cout << "Échec de l'authentification." << std::endl;

return 0;

You might also like