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 {
/* Call this as a destructor */
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).
* - queryString: String */
* - queryString: String
* => A promise, callback with [(id: Int, string: String, cat: String, type: String)] */
search(queryString) {
let __sqlQuery =
`SELECT id, string
FROM kara
WHERE string LIKE ? OR author COLLATE nocase = ?`
;
db.all(sql, [`%${queryString}%`, queryString], (err, rows) => {
if (err) {
throw err;
}
rows.forEach((row) => {
logger.log("debug", `[${row.id}] -> ${row.string}`);
var __ret = [];
let __sqlQuery = `SELECT id, string, category AS cat, (song_type || song_number) AS type
FROM kara
WHERE string LIKE ? OR author_name COLLATE nocase = ?`;
function __getRecords(db) {
return new Promise(resolv => {
db.all(__sqlQuery, [`%${queryString}%`, queryString], (err, rows) => {
if (err) {
logger.log("error", err);
throw err;
}
rows.forEach((row) => { __ret.push(row); });
resolv(__ret);
});
});
});
};
return __getRecords(this.m_db);
}
}
......
const logger = require.main.require('../common/logger.js');
const KaraDatabase = require.main.require('../common/db.js');
const logger = require.main.require('./common/logger.js');
const KaraDatabase = require.main.require('./common/db.js');
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