Делаю запрос к БД через модуль node-sqlite3.
Часть кода:
var rowPool = [];
var rowPool2 = [{id:0}];
var rowPool3 = [];
var select='SELECT rowid AS id, title, kod FROM telefon_ron';
var select2='SELECT rowid AS id, title FROM telefon_otdel WHERE ron_id=1';
db.serialize(function(){
db.all(select, function(err, row) {
rowPool=row;
console.log(rowPool); //Выводит содержимое
});
db.all(select2, function(err, row) {
rowPool2=row;
console.log(rowPool2); //Выводит содержимое
console.log(rowPool2[0].id); //Выводит: 4
//select3=`SELECT rowid AS id, title FROM telefon_potdel WHERE otdel_id=${rowPool2[0].id}`;
});
db.all(`SELECT rowid AS id, title FROM telefon_potdel WHERE otdel_id=${rowPool2[0].id}`, function(err, row) {
console.log(rowPool2[0].id); //Выводит: 4
rowPool3=row;
console.log(rowPool3); //Выводит пустой массив: []
});
});
Почему не работает запрос в последнем db.all()? Как исправить?
Если в самом начала объявить var rowPool2 = [{id:4}], то console.log(rowPool3) выведет содержимое БД на основе переданного запроса.
Если в последний db.all() передать не строку, а переменную select3, то выведет ошибку:
TypeError: SQL query expected