Javascript 我在java脚本中遇到了这个错误:TypeError:db.run不是一个函数
我有3个类:一个用于连接数据库,一个用于请求,一个用于测试请求 连接的类别如下所示:Javascript 我在java脚本中遇到了这个错误:TypeError:db.run不是一个函数,javascript,npm,node-sqlite3,Javascript,Npm,Node Sqlite3,我有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.erro
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,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;
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","FEMME","158","52","mdpPOri12");
user_dao.insert("lau@gmail.com","NOM2","Laureline","08/03/01","FEMME","159","57","mdpLau74");
setTimeout(modifDonnée, 1000);
}
function modifDonnée() {
user_dao.update("ori@gmail.com","NOM","Orianne","07/10/01","FEMME","158","52","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();
请求的类位于此处:
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,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;
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","FEMME","158","52","mdpPOri12");
user_dao.insert("lau@gmail.com","NOM2","Laureline","08/03/01","FEMME","159","57","mdpLau74");
setTimeout(modifDonnée, 1000);
}
function modifDonnée() {
user_dao.update("ori@gmail.com","NOM","Orianne","07/10/01","FEMME","158","52","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();
测试类在这里:
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,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;
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","FEMME","158","52","mdpPOri12");
user_dao.insert("lau@gmail.com","NOM2","Laureline","08/03/01","FEMME","159","57","mdpLau74");
setTimeout(modifDonnée, 1000);
}
function modifDonnée() {
user_dao.update("ori@gmail.com","NOM","Orianne","07/10/01","FEMME","158","52","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();
请帮助我,我无法修复此错误
我已经尝试查找循环问题,但没有找到任何东西可能是put
module.exports=db代码>在该文件的底部,而不是在回调中,我尝试了它不起作用你知道你打开了dbsqlite3.open_READONLY
。。。并尝试插入/更新等,对吗?是的,我的数据库在我的包中,我想操纵其中的数据