Skip to content
Extraits de code Groupes Projets
Vérifiée Valider afa31b87 rédigé par Kubat's avatar Kubat
Parcourir les fichiers

COMMON: A working query on the sqlite3 db

parent 2fafe5d6
Aucune branche associée trouvée
Aucune étiquette associée trouvée
2 requêtes de fusion!3Dev kubat,!1Create basic lib
...@@ -42,25 +42,32 @@ class KaraDatabase { ...@@ -42,25 +42,32 @@ class KaraDatabase {
/* Call this as a destructor */ /* Call this as a destructor */
close() { close() {
this.m_db.close(); this.m_db.close();
logger.log("info", "Close database " + karaPath); logger.log("info", `Close database ${this.m_karaPath}`);
} }
/* Search from the kara table, a string. Can be anything (query, name, etc). /* Search from the kara table, a string. Can be anything (query, name, etc).
* - queryString: String */ * - queryString: String
* => A promise, callback with [(id: Int, string: String, cat: String, type: String)] */
search(queryString) { search(queryString) {
let __sqlQuery = var __ret = [];
`SELECT id, string let __sqlQuery = `SELECT id, string, category AS cat, (song_type || song_number) AS type
FROM kara FROM kara
WHERE string LIKE ? OR author COLLATE nocase = ?` WHERE string LIKE ? OR author_name COLLATE nocase = ?`;
;
db.all(sql, [`%${queryString}%`, queryString], (err, rows) => { function __getRecords(db) {
if (err) { return new Promise(resolv => {
throw err; db.all(__sqlQuery, [`%${queryString}%`, queryString], (err, rows) => {
} if (err) {
rows.forEach((row) => { logger.log("error", err);
logger.log("debug", `[${row.id}] -> ${row.string}`); throw err;
}
rows.forEach((row) => { __ret.push(row); });
resolv(__ret);
});
}); });
}); };
return __getRecords(this.m_db);
} }
} }
......
const logger = require.main.require('../common/logger.js'); const logger = require.main.require('./common/logger.js');
const KaraDatabase = require.main.require('../common/db.js'); const KaraDatabase = require.main.require('./common/db.js');
var myDb = new KaraDatabase("/home/kara/kara.db"); var myDb = new KaraDatabase("/home/kara/kara.db");
myDb.search(`kubat`).then( val => logger.log("debug", val) )
myDb.close()
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter