From 81038fb1c783756ed533e5ecd2d3406b4a7583cb Mon Sep 17 00:00:00 2001 From: Joe Tretter Date: Wed, 3 Oct 2018 08:32:22 -0500 Subject: [PATCH] misc --- database.js | 24 ++++++++++++++++++++---- playdb.sqlite3 | Bin 24576 -> 24576 bytes 2 files changed, 20 insertions(+), 4 deletions(-) diff --git a/database.js b/database.js index 36d903a..963d0f7 100644 --- a/database.js +++ b/database.js @@ -20,10 +20,25 @@ let query = (SQL) => { resolve(rows); }); } else { - db.run(SQL, (err) => { + db.run(SQL, function (err) { if (err) { reject("ERROR: running statement: (" + SQL + ") " + err + err.stack); } + if (SQL.toUpperCase().startsWith("INSERT")) { + // the lastID is just the rowID - need to resolve the actual primary-Key ID by rowid. + // Note: this expects that there is an ID column in every table! + let table = SQL.replace(/^insert inot /i,'').replace(/ .*$/,''); + let sqlGetID = "select ID from " + table + " where rowid=" + this.lastID; + console.log(sqlGetID); + + db.run(sqlGetID, function (err, rows) { + if (err) { + reject("ERROR: getting Record-ID after insert: " + err + err.stack); + } + resolve(rows[0].ID); + }); + + } resolve(true); }); } @@ -51,11 +66,12 @@ let exitHandler = (eventType) => { process.on(eventType, exitHandler.bind(null, eventType)); }) -/* let main = async () => { +let main = async () => { query('insert into log (message) values (\'Outside\')'); let rows = null; try { - await query('insert into log (message) values (\'start\')'); + let newId = await query('insert into log (message) values (\'start\')'); + console.log("ID created for start was " + newId); rows = await query('select * from Option'); rows.forEach((row) => { console.log(row.ID + "\t" + row.PutCall); @@ -68,7 +84,7 @@ let exitHandler = (eventType) => { process.stdin.resume();//so the program will not close instantly } -main(); */ +main(); module.exports = { diff --git a/playdb.sqlite3 b/playdb.sqlite3 index 44629b954821b60aad5a02e56659832d2592805f..574103388f2229af91610f83a93843fb4dfb0ff4 100644 GIT binary patch delta 1269 zcmZvbJxtp`6vv5DRQt{nLkE(Yv}yP#1rmH8cAP69BqSD)SlCgeWN3#XLAq6PI(1=a z)v*gx7AAz$8J3EjorQs&9SJ|*ofPs;^7hy7_n!XuJh&_kE=#|{()RC}t;y|)*4*H{ zd%9ZQ@P>b0Mr=2@3;qXZ!AWo!><4jBp^x;IUeO`_Nx#q?+M-kBf!vUP~wE7%K>_AX;Dgtm+&7t72md>CglC8c80!iyLdd8`M&ABUBM(6S4d z#m>Jh*Dj&-1K~+QS&EHml_ciuHq}Q#Ed-Go_5AC{@QEggh@I&Wc LuDz(O-!+~9jF%@M delta 41 xcmZoTz}Rqrae_3X!bBNoRs{w<#;A=c3-p;Kc$p@%8yIdD6gb7RnaTE_5&-o@3$g$J