1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
| #ifndef CONNECTION_H
#define CONNECTION_H
#include <QMessageBox>
#include <QSqlDatabase>
#include <QSqlError>
#include <QSqlQuery>
#include "fenprincipale.h"
#include "QtSql"
/*
This file defines a helper function to open a connection to an
in-memory SQLITE database and to create a test table.
If you want to use another database, simply modify the code
below. All the examples in this directory use this function to
connect to a database.
*/
//! [0]
int FenPrincipale::createConnection()
{
db = QSqlDatabase::addDatabase("QSQLITE"); //Ouverture de la base de donnée avec le driver sqlite
db.setDatabaseName(database);
if (!db.open()) {
QMessageBox::critical(0, qApp->tr("Cannot open database"),
qApp->tr("Unable to establish a database connection.\n"
"Aucun projet ouvert"
"Click Cancel to exit."), QMessageBox::Cancel);
return false;
}
/* Creation des différentes tables où seront stockées les données GSi
*/
QSqlQuery query;
query.exec("create table mesures (id int primary key,matricule varchar(20),classe varchar(20),angleH double,angleV double,distanceIncl double,distanceH double,ppm double,cstPrisme double,hauteurPrisme double,classeHprisme varchar(20),code varchar(20),info1 varchar(20),info2 varchar(20),info3 varchar(20),info4 varchar(20),info5 varchar(20),numeroStation int ,indiceStationnement int, date varchar (20))");
query.exec("create table prisme (id int primary key, hauteurPrisme double, plageDebut int ,plageFin int,date varchar(20))");
query.exec("create table nbreStationnement (id int primary key,numeroStation varchar(20),nombreOccurence int,date varchar(20))") ;
query.exec("create table stationStationnee(id int primary key,numeroStation varchar(20),hauteurInstrument double,hauteurPrisme double,indiceStationnement int,plageDebut int ,plageFin int,date varchar(20) )");
query.exec("create table indexo (id int primary key, id_m int , id_p int ,id_ss int, id_ns int)");
query.exec("INSERT into indexo (id) values (1)");
query.exec("create table infoProjet (id int primary key, nomProjet varchar(20) )");
query.prepare ("INSERT into infoProjet (nomProjet) values (:nomProjet)");
query.bindValue (":nomProjet", database);
query.exec();
return true;
db.close();
}
//! [0]
#endif |
Partager