我在Java脚本中遇到此错误:TypeError:db.run不是函数

问题描述

我有3类:一种用于连接数据库,一种用于请求,另一种用于测试请求。

连接的类在这里

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.');
});

请求的类在这里

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,mdp,callback){
        let sql = 'UPDATE Utilisateur SET nom = (?),prenom = (?),dateN = (?),sexe = (?),taille = (?),poids = (?),mdp = (?) WHERE mail = mail';
        db.run(sql,[mail,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;

测试类在这里

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("mail@gmail.com","nom1","prenom1","07/06/04","FemmE","150","55","MotDePasse35");
  user_dao.insert("ori@gmail.com","NOM","Orianne","03/10/01","158","52","mdpPOri12");
  user_dao.insert("lau@gmail.com","NOM2","Laureline","08/03/01","159","57","mdplau74");
  setTimeout(modifDonnée,1000);
}

function modifDonnée() {
  user_dao.update("ori@gmail.com","07/10/01","mdpPOri12");
  setTimeout(suppDonnée,1000);
}

function suppDonnée() {
  user_dao.delete("mail@gmail.com");
  setTimeout(trouvéTout,1000);
}

function trouvéTout() {
  user_dao.findAll();
  setTimeout(trouvéUn,1000);
}

function trouvéUn() {
  user_dao.findByKey("ori@gmail.com");
}

insertDonnée();
modifDonnée();
suppDonnée();
trouvéTout();
trouvéUn();

请帮助我,我无法解决错误 我已经尝试查看循环问题,但是什么也没找到

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)