Javascript 使用Node.js读取SQLite数据库
有了这个SQLite数据库,我正试图从中读取数据。所以,从表1中,我想阅读前3列 这是app.js的代码:Javascript 使用Node.js读取SQLite数据库,javascript,node.js,sqlite,ecmascript-6,node-sqlite3,Javascript,Node.js,Sqlite,Ecmascript 6,Node Sqlite3,有了这个SQLite数据库,我正试图从中读取数据。所以,从表1中,我想阅读前3列 这是app.js的代码: var sqlite3 = require('sqlite3').verbose(); var db = new sqlite3.Database('ocs_athletes'); db.serialize(function () { db.each('SELECT athlete_id, name, surname FROM Athlete', function (err, row
var sqlite3 = require('sqlite3').verbose();
var db = new sqlite3.Database('ocs_athletes');
db.serialize(function () {
db.each('SELECT athlete_id, name, surname FROM Athlete', function (err, row) {
console.log('User: ', row.athlete_id, row.name, row.surname);
});
});
db.close();
app.js文件与db文件-ocs_在同一文件夹中
在cmd node app.js中运行会返回以下错误消息:
/home/rares/Documents/Projects/OCSapp/app.js:6
console.log('User: ', row.athlete_id, row.name, row.surname);
^
TypeError: Cannot read property 'athlete_id' of undefined
at /home/rares/Documents/Projects/OCSapp/app.js:6:31
at replacement (/home/rares/Documents/Projects/OCSapp/node_modules/sqlite3/lib/trace.js:25:27)
at Statement.errBack (/home/rares/Documents/Projects/OCSapp/node_modules/sqlite3/lib/sqlite3.js:14:21)
为什么会发生这种情况?尝试这样连接到db
let db = new sqlite3.Database('./ocs_athlete.db', (err) => {
if (err) {
console.error(err.message);
}
console.log('Connected to the my database.');
});
给出.db文件的路径。这会奏效的
有三种打开模式:
sqlite3.OPEN\u READONLY:以只读方式打开数据库
sqlite3.OPEN\u READWRITE:打开数据库进行读写
sqlite3.OPEN_CREATE:打开数据库,如果数据库不存在,创建一个新数据库
要打开chinook sample数据库进行读写操作,可以按如下操作:
let db = new sqlite3.Database('./ocs_athlete.db', sqlite3.OPEN_READWRITE, (err) => {
if (err) {
console.error(err.message);
}
console.log('Connected to the ocs_athlete database.');
});
尝试像这样连接到db
let db = new sqlite3.Database('./ocs_athlete.db', (err) => {
if (err) {
console.error(err.message);
}
console.log('Connected to the my database.');
});
给出.db文件的路径。这会奏效的
有三种打开模式:
sqlite3.OPEN\u READONLY:以只读方式打开数据库
sqlite3.OPEN\u READWRITE:打开数据库进行读写
sqlite3.OPEN_CREATE:打开数据库,如果数据库不存在,创建一个新数据库
要打开chinook sample数据库进行读写操作,可以按如下操作:
let db = new sqlite3.Database('./ocs_athlete.db', sqlite3.OPEN_READWRITE, (err) => {
if (err) {
console.error(err.message);
}
console.log('Connected to the ocs_athlete database.');
});
为什么要使用数据库。序列化?我不知道,这是我第一次在Node中使用SQLite,这就是我在教程中发现的。我应该用不同的方法吗?正如我在文档中看到的那样。each方法使用指定的参数执行SQL查询,并为结果集中的每一行调用回调。。获取所有行或特定行要做什么?没关系,所有行都可以。我看了这篇教程,就这样做了,我刚刚试着打印出你们得到的数据,为什么要使用db呢。序列化?我不知道,这是我第一次在Node中使用SQLite,这就是我在教程中发现的。我应该用不同的方法吗?正如我在文档中看到的那样。each方法使用指定的参数执行SQL查询,并为结果集中的每一行调用回调。。获取所有行或特定行要做什么?没关系,所有行都可以。我看了这个教程,就这样做了。我刚刚试着打印出你们得到的数据。