如何解决将SQL Select查询的结果存储在var节点js中
我正在寻找一种存储选择查询结果的方法,例如游戏的“排名”图表,但是我不确定遇到的是异步问题还是数据类型问题,或者完全是其他的东西。有什么想法吗?
var ranksVar = [];
db.all("select * from user",function(err,rows){
if(err) {
throw err;
} else {
setValue(rows);
}
});
function setValue(value) {
ranksVar = value;
console.log(ranksVar);
}
解决方法
我发现了有关将SQLite与NodeJS一起使用的有用文章,它为您提供了了解如何使用它的基本示例。这里是:SQLite NodeJS
就您而言,请查看data query部分下的内容。
下面是示例代码:
const sqlite3 = require('sqlite3').verbose();
// open the database
let db = new sqlite3.Database('./db/chinook.db');
let sql = `SELECT DISTINCT Name name FROM playlists
ORDER BY name`;
db.all(sql,[],(err,rows) => {
if (err) {
throw err;
}
rows.forEach((row) => {
console.log(row.name);
});
});
// close the database connection
db.close();
如您所见,rows
变量是(我想)由模块创建的特殊类型。要从中获取所有数据,您可能需要对其进行迭代,然后将其推入数组变量。
干杯?!
,我发现了问题。这是一个数据类型/异步问题,我试图为未定义的数组打印一个字符串。
返回一个循环,并使用JSON.stringify方法正确显示数组对象。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。