Advertisement
Guest User

storage.js

a guest
Aug 28th, 2015
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. .import QtQuick.LocalStorage 2.0 as Sql
  2.  
  3. function getDatabase() {
  4.     console.log('Trying to open:');
  5.     try {
  6.         var db = Sql.LocalStorage.openDatabaseSync("Neliapila", "0.1", "SettingsDatabase", 100);
  7.         return db;
  8.     } catch(e) {
  9.         if(e.code === SQLException.DATABASE_ERR) {
  10.             console.warn('Database error:', e.message);
  11.         } else if(e.code === SQLException.VERSION_ERR) {
  12.             console.warn('Database version error:', e.message);
  13.         } else {
  14.             console.warn('Database unknown error:', e.message);
  15.         }
  16.  
  17.         return false;
  18.     }
  19. }
  20.  
  21. function getBoardTable() {
  22.     var db = getDatabase();
  23.  
  24.     db.transaction(
  25.                 function(tx) {
  26.                     try {
  27.                         tx.executeSql('CREATE TABLE IF NOT EXISTS boards(board TEXT UNIQUE, title TEXT,favorite INT,start_board INT)');
  28.                     } catch(e) {
  29.                         if(e.code === SQLException.DATABASE_ERR) {
  30.                             console.warn('Board Database error:', e.message);
  31.                         } else if(e.code === SQLException.SYNTAX_ERR) {
  32.                             console.warn('Board Database syntax error:', e.message);
  33.                         } else {
  34.                             console.warn('Board Database unknown error:', e.message);
  35.                         }
  36.  
  37.                         return false;
  38.                     }
  39.                 }
  40.                 );
  41.     return db;
  42. }
  43.  
  44. function setBoardTable(board,
  45.                        title,
  46.                        favorite,
  47.                        start_board) {
  48.  
  49.     var db = getBoardTable();
  50.     var result;
  51.  
  52.     db.transaction(
  53.                 function(tx) {
  54.                     try {
  55.                         var result = tx.executeSql('INSERT OR REPLACE INTO boards VALUES (?,?,?,?);',
  56.                                                    [board,
  57.                                                     title,
  58.                                                     favorite,
  59.                                                     start_board]);
  60.                     } catch(e) {
  61.                         if(e.code === SQLException.DATABASE_ERR) {
  62.                             console.warn('Database error:', e.message);
  63.                         } else if(e.code === SQLException.SYNTAX_ERR) {
  64.                             console.warn('Database syntax error:', e.message);
  65.                         } else {
  66.                             console.warn('Database unknown error:', e.message);
  67.                         }
  68.  
  69.                         return false;
  70.                     }
  71.                     //console.log('Affected rows:', result.rowsAffected)
  72.                     if (result.rowsAffected > 0) {
  73.                         console.debug('Saved board with: ' + board)
  74.                         return true;
  75.                     } else {
  76.                         //@TODO handle error on saving
  77.                         console.error('ERROR: Storage: Failed to save board: ' + board);
  78.                         return false;
  79.                     }
  80.                 }
  81.                 );
  82. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement