Skip to content

Instantly share code, notes, and snippets.

@meeech
Created September 12, 2012 17:13
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save meeech/3708245 to your computer and use it in GitHub Desktop.
Save meeech/3708245 to your computer and use it in GitHub Desktop.
//Simple k/v
//Open the db.
//DB is simple k/v
var db = Ti.Database.open('db');
// db.execute('DELETE FROM DATA');
// db.execute('DROP TABLE DATA');
// db.execute('VACUUM');
db.execute('CREATE TABLE IF NOT EXISTS DATA (KEY TEXT UNIQUE, VALUE TEXT)');
// var xo = db.execute('SELECT * FROM DATA');
// Ti.API.warn(xo.rowCount);
exports.db = db;
//REPLACE OR INSERT
var save = function(k,v) {
db.execute('REPLACE INTO DATA (KEY, VALUE) VALUES(?,?)', k,v);
};
exports.save = save;
var del = function(k) {
db.execute('DELETE FROM DATA WHERE KEY = ?', k);
};
exports.del = del;
var get = function(k) {
var rows = db.execute('SELECT * FROM DATA WHERE KEY = ?', k),
value = false;
if(rows.rowCount > 1) {
Ti.API.info(rows.rowCount + ' rows found');
}
while (rows.isValidRow()) {
value = rows.fieldByName('VALUE');
rows.next();
}
rows.close();
return value;
};
exports.get = get;
var all = function() {
var rows = db.execute('SELECT * FROM DATA'),
data = [];
Ti.API.debug('db.all.rowCount: ' + rows.rowCount);
while (rows.isValidRow()) {
data.push({
key: rows.fieldByName('KEY'),
value: rows.fieldByName('VALUE')
});
rows.next();
}
rows.close();
return data;
};
exports.all = all;
var wipe = function() {
db.execute('DELETE FROM DATA');
db.execute('VACUUM');
};
exports.wipe = wipe;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment