Request Error
bearbeitet von hmmnaja, die replace query ist aus meiner faulheit heraus entstanden. beide query sollen eigendlich zusammen folgendes tun:
1. existiert keine zeile die die where klausel erfüllt, so wird eine hinzugefügt -> fertig
2. existiert so eine zeile, so updaten wir die daten
hintergrund:
clientseitig existiert eine tabellenförmite darstellung die excel ähnelt. es kann eine zeile hinzugefügt werden und es kann eine zeile geändert werden. imanschluss klickt der anwender auf speichern, was zur folge hat dass die daten an diese sql-methoden geschickt werden
so funktioniert das übrigens auch nicht:
~~~JavaScript
this.generateOneUpdate = function(email, data) {
var db = new sqlite3.Database(dbRef);
var statment = SQL_INSERT_MITARBEITER.replace(/\?name/g, "'" + data.name + "'");
db.run(statment);
function callback(user_id, m_id, data, dbLokal) {
console.log("test");
var statmentLokal = SQL_INSERT_USER_MITARBEITER.replace(/\?user_id/g, user_id);
statmentLokal = statmentLokal.replace(/\?m_id/g, m_id);
dbLokal.serialize(function() {
dbLokal.run(statmentLokal);
});
statmentLokal = SQL_INSERT_SKILL.replace(/\?m_id/g, m_id);
statmentLokal = statmentLokal.replace(/\?skill/g, "'" + data.skill + "'");
statmentLokal = statmentLokal.replace(/\?subskill/g, "'" + data.subskill + "'");
statmentLokal = statmentLokal.replace(/\?nivau/g, "'" + data.nivau + "'");
dbLokal.serialize(function() {
dbLokal.run(statmentLokal);
});
statmentLokal = SQL_REPLACE_SKILL.replace(/\?m_id/g, m_id);
statmentLokal = statmentLokal.replace(/\?skill/g, "'" + data.skill + "'");
statmentLokal = statmentLokal.replace(/\?subskill/g, "'" + data.subskill + "'");
statmentLokal = statmentLokal.replace(/\?nivau/g, "'" + data.nivau + "'");
dbLokal.serialize(function() {
dbLokal.run(statmentLokal);
});
console.log("end");
}
statment = SQL_SELECT_USER_MITARBEITER_ID.replace(/\?email/g, "'" + email + "'");
statment = statment.replace(/\?name/g, "'" + data.name + "'");
/*db.all(statment, function(err, rows) {
var dbLokal = new sqlite3.Database(dbRef);
dbLokal.serialize(function() {
var last_index = rows.length - 1;
var user_id = rows[last_index].user_id;
var m_id = rows[last_index].mitarbeiter_id;
callback(user_id, m_id, data, dbLokal);
});
dbLokal.close();
});*/
var test = new Promise(function(resolve, reject) {db.all(statment, function(err, rows) {
resolve(rows);
})});
var pro = function () {
test.then(function (rows) {
console.log(rows);
//var dbLokal = new sqlite3.Database(dbRef);
var last_index = rows.length - 1;
var user_id = rows[last_index].user_id;
var m_id = rows[last_index].mitarbeiter_id;
// db.serialize(function() {
callback(user_id, m_id, data, db);
//});
console.log("lokales fertig");
//dbLokal.close();
})
.catch(function (error) {
console.log(error.message);
});
}
db.serialize(function() {
pro();
});
db.close();
console.log("fertig");
}
~~~
das
db.serialize(function() {
pro();
});
gehört wohl wo anders hin....