Почему мой оператор select возвращает старые данные после рабочего оператора update? - PullRequest
0 голосов
/ 18 декабря 2018

Я запускаю код ниже на моем экспресс-сервере.Моя цель - обновить базу данных, запросить обновленную таблицу.Все работает, кроме запроса не возвращает обновленные результаты.Если я запускаю его второй раз, он возвращает правильные результаты для первого обновления.

        //// Run Update
        var db = new sqlite3.Database(myFile);
        var UpdateStatement = "UPDATE Employees SET Firstname = '"+Firstname+"', Lastname = '"+Lastname+"' WHERE id = "+ID+";";
        db.run(UpdateStatement);    
        db.close();

        //// Query table    
        var SELECTSTATEMENT = "SELECT * FROM Employees ;";  
        db = new sqlite3.Database(scheduleFile);        
        db.all(SELECTSTATEMENT,[],(err, rows) => {  if (err) { console.log("error at get /db.all Select  "); throw err; }   
            var strArr = JSON.stringify(rows);
            response.send(strArr);// Does not send back updated results.            
            db.close();
        });

Я предполагаю, что переменная базы данных остается устаревшей даже после того, как я создаю новую переменную?

1 Ответ

0 голосов
/ 18 декабря 2018
//create sql statement and bind the parameters
var db = new sqlite3.Database(myFile);
var UpdateStatement = "UPDATE Employees SET Firstname = ?, Lastname = ? WHERE id = ?;";


// run statement and get the callback once its done
db.run(UpdateStatement,[firstName, lastName, id], function(err){
     // if err occured return the error
      if(err)
        return err
     // else return the response
      var SELECTSTATEMENT = "SELECT * FROM Employees ;";  
            db = new sqlite3.Database(scheduleFile);        
            db.all(SELECTSTATEMENT,[],(err, rows) => {  if (err) { console.log("error at get /db.all Select  "); throw err; }   
                var strArr = JSON.stringify(rows);
                response.send(strArr);// Does not send back updated results.            
                db.close();
            });

    });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...