Я пытаюсь получить данные из Sqilte DB (используя NodeJs). Я хочу напечатать в журнале каждую запись строки. По какой-то причине я не получаю ошибок, но я тоже не получаю результатов.Nodejs & Sqlite - Почему каждое утверждение не возвращает результатов
Я создаю БД в следующем коде:
var sqlite3 = require('sqlite3').verbose();
var db = new sqlite3.Database('usersDataBase');
db.run("CREATE TABLE IF NOT EXISTS usersTable (id INTEGER PRIMARY KEY AUTOINCREMENT , userName TEXT, password TEXT)");
db.close();
и добавление пользователей с помощью следующего кода:
var db = new sqlite3.Database('usersDataBase');
var stmt = db.prepare("INSERT INTO usersTable VALUES (null, ?, ?)", userName, passw);
stmt.finalize();
db.close();
Наконец я пытаюсь напечатать содержимое таблицы с:
app.get("/view", function(req, res) {
var db = new sqlite3.Database('usersDataBase');
db.each("SELECT * FROM usersTable", function(err, row) {
if (err) console.log('Error: ' + err);
else console.log(row.userName + ": " + row.password)
//db.close();
});
//db.close();
// get to main screen
console.log('Sending main.html')
res.sendFile('main.html', {root: __dirname })
})
Но я ничего не получаю на экране. (Нет сообщения об ошибке и нет результатов)
Что я делаю неправильно?
Если db.Close() будет последним линия. Разве это не закрывает его до вызова обратных вызовов? –