You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

39 lines
1.5KB

  1. #include "bdd.h"
  2. class_bdd::class_bdd(const wxString& path_in)
  3. {
  4. path = path_in + slash + "cosmos.db";
  5. if (!wxFileExists(path))
  6. createEmpty();
  7. else if ((rc=sqlite3_open_v2(_C(path), &db, SQLITE_OPEN_READWRITE, NULL)) != SQLITE_OK)
  8. {
  9. wxMessageBox("Erreur lors de l'ouverture de la base de données", "Erreur", wxICON_ERROR | wxOK);
  10. exit(0);
  11. }
  12. }
  13. class_bdd::~class_bdd()
  14. {
  15. sqlite3_close(db); //check RC (busy ?)
  16. }
  17. void class_bdd::createEmpty()
  18. {
  19. rc = 0;
  20. rc += sqlite3_open_v2(_C(path), &db, SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE, NULL);
  21. rc += sqlite3_exec(db, "CREATE TABLE Consult(id INTEGER PRIMARY KEY ASC AUTOINCREMENT, n_dossier INTEGER UNIQUE, nom VARCHAR(50), prenom VARCHAR(50), responsable VARCHAR(100), consultant VARCHAR(50), theme TEXT, etablissement VARCHAR(100), travail VARCHAR(50), date_cs DATE, publi_prevue BOOLEAN, publi BOOLEAN, cs_associe BOOLEAN, publi_CHU BOOLEAN, nb_result INT, id_results TEXT);", NULL, NULL, NULL);
  22. rc += sqlite3_exec(db, "CREATE TABLE Result(id INTEGER PRIMARY KEY, titre TEXT, auteurs TEXT, lien VARCHAR(50), date_publi DATE);", NULL, NULL, NULL);
  23. rc += sqlite3_exec(db, "CREATE TABLE Correc(orig TEXT PRIMARY KEY, dest TEXT);", NULL, NULL, NULL);
  24. if (rc)
  25. {
  26. wxMessageBox("Erreur lors de la création de la base de données", "Erreur", wxICON_ERROR | wxOK);
  27. exit(0);
  28. }
  29. wxMessageBox("La base de données est vide,\nveuillez importer des données !");
  30. }
  31. void class_bdd::import(const wxString& importfile)
  32. {
  33. }