我目前正在将python程序转换为node.js,并为它们使用sqlite3模块。我的python代码是这样的:
users_db = sqlite3.connect(drive()+'\\Recovered\\NewProgramVersions\\users_db.db')
c=users_db.cursor()
c.execute("SELECT * FROM users WHERE useremail=?",(email,))
rows = c.fetchall()
if rows != []: #if the returned rows are NOT empty
errorlbl.config(text="Email already in use!") #...then print an error message
x=1
对我来说重要的是运行第4行和第5行。选择数据,并将其放入名为“rows”的数组中。 到目前为止,在我的JS文件中,我有:
var db = new sqlite3.Database('users_db.db');
var stmt = db.prepare("SELECT * FROM users WHERE useremail=?");
stmt.run(email);
var rows = db.all(stmt);
但我认为这是错误的语法,并且无法在Google上的任何地方找到如何做到这一点。
感谢您的帮助!
答案 0 :(得分:0)
我的解决方案涉及遵循文档中包含的语法。经过实验,我发现这有效:
var db = new sqlite3.Database('users_db.db');
db.all("SELECT * FROM users WHERE useremail=?", email, function(err, rows){
if (rows != "undefined"){
res.send("Email already exists!");
return false; //returns false
}else{
return true; //if all is okay, return true
}
})