I have 3 class : one for the connection to the database, one for the request and one for test the request.
The class of the connection is here :
const sqlite3 = require('sqlite3').verbose();
// ouverture de la base de donnée
let db = new sqlite3.Database('./sport_track_db.db', sqlite3.OPEN_READONLY, (err) => {
if (err) {
return console.error(err.message);
}
console.log('Connected to the sport_track_db database.');
module.exports = db;
});
// fermeture de la base de donnée
db.close((err) => {
if (err) {
return console.error(err.message);
}
console.log('Close the database connection.');
});
The class for the request is here :
var db = require('./sqlite_connection');
var UserDAO = function(){
this.insert = function(values, callback) {
let sql = 'INSERT INTO Utilisateur (mail,nom, prenom,dateN,sexe,taille,poids,mdp) VALUES(?,?,?,?,?,?,?,?)';
db.run(sql,[values[0],values[1],values[2],values[3],values[4],values[5],values[6],values[7]],callback);
console.log("La valeur ayant pour clé : '"+mail+"' a bien été renseignée dans la table.");
}
this.update = function(mail,nom, prenom,dateN,sexe,taille,poids,mdp, callback){
let sql = 'UPDATE Utilisateur SET nom = (?), prenom = (?), dateN = (?),sexe = (?), taille = (?),poids = (?),mdp = (?) WHERE mail = mail';
db.run(sql, [mail,nom, prenom,dateN,sexe,taille,poids,mdp], (err) => {
if (err) {
throw err;
}
console.log("La valeur ayant pour clé : '"+mail+"' a bien été modifié dans la table.");
});
}
this.delete = function(mail_val, callback){
let sql = 'DELETE FROM Utilisateur WHERE mail = (?)';
db.run(sql, [mail_val], (err) => {
if (err) {
throw err;
}
console.log("La valeur ayant pour clé : '"+mail+"' a bien été supprimer dans la table.");
});
}
this.findAll = function(callback){
let ret;
let sql = 'SELECT * FROM Utilisateur';
db.run(sql, [], (err) => {
if (err) {
throw err;
}
ret = rows;
});
return ret;
}
this.findByKey = function(mail, callback){
let sql = 'SELECT * FROM Utilisateur WHERE mail = mail';
db.run(sql,[], (err) => {
if (err) {
throw err;
}
return row;
});
}
};
var user_dao = new UserDAO();
module.exports = user_dao;
And the test class is here :
var db = require('./sport-track-db').db_connection;
var user_dao = require('./sport-track-db').user_dao;
console.log(require('./sport-track-db').user_dao);
function insertDonnée() {
user_dao.insert("[email protected]","nom1","prenom1","07/06/04","FEMME","150","55","MotDePasse35");
user_dao.insert("[email protected]","NOM","Orianne","03/10/01","FEMME","158","52","mdpPOri12");
user_dao.insert("[email protected]","NOM2","Laureline","08/03/01","FEMME","159","57","mdpLau74");
setTimeout(modifDonnée, 1000);
}
function modifDonnée() {
user_dao.update("[email protected]","NOM","Orianne","07/10/01","FEMME","158","52","mdpPOri12");
setTimeout(suppDonnée, 1000);
}
function suppDonnée() {
user_dao.delete("[email protected]");
setTimeout(trouvéTout, 1000);
}
function trouvéTout() {
user_dao.findAll();
setTimeout(trouvéUn, 1000);
}
function trouvéUn() {
user_dao.findByKey("[email protected]");
}
insertDonnée();
modifDonnée();
suppDonnée();
trouvéTout();
trouvéUn();
Please help me I can't fix this error I have already tried to look the cyclic problème but I don't find anything