#Android utiliser plug sqllite storage pas la merde sql local browser inclu dans sb

Rubriques generale concernant SpiderBasic
killer128
Messages : 28
Inscription : mer. 30/mai/2012 15:15

#Android utiliser plug sqllite storage pas la merde sql local browser inclu dans sb

Message par killer128 »

Bonjour,
Si comme moi vous trouvez que le système de base pour crée une base sql de spiderbasic version browser en local est totalement merdique
et qu'il suffit de mettre quelques image type blob pour que le systeme devienne impossible à utiliser et que par dessus tout
c'est grave énervant de devoir sauvegarder la base dans un fichier en local sous peine de perdre les infos.
Voici la SOLUTION.
J'ai pue tester un plugin un wrapper qui passe par cordova. Ce n'est qu'un début mais ça marche.
Si vous lancer l'app pour la première fois, vous aurez 2 insertions, si vous relancer l'app, vous aurez 4 insertion ect.
Plus la peine de sauvegarder le ficher c'est génial!

Code : Tout sélectionner

;https://www.npmjs.com/package/cordova-sqlite-storage
;Import Cordova Plugin
Import "cordova plugin add cordova-sqlite-storage && cordova prepare"
EndImport
;CloseDebugOutput() ;No debug
Debug "bijour"
Global rev.s

;recuperer le contenu de la console.log
!var logBak = console.log;
!var logMessages = [];
!console.log = function(value) {
!    logMessages.push(value);
!    logBak.call(console, value);
!}                          ;

!console.log("j ecrit sur la console");
!console.log("bit2");

Global k2r

!var db = null;

!document.addEventListener('deviceready', function () {
  Debug "ready"                         
!    db = window.sqlitePlugin.openDatabase({
!    name: 'my.db',
!    location: 'default',
!  });
!  db.transaction(function(tx) {
!    tx.executeSql('CREATE TABLE IF NOT EXISTS DemoTable (name, score);');
!    tx.executeSql('INSERT INTO DemoTable VALUES (?,?);', ['Alice', 101]);
!    tx.executeSql('INSERT INTO DemoTable VALUES (?,?);', ['Betty', 202]);
!  }, function(error) {
!v_rev= error.message;
    Debug("Transaction ERROR: " + rev)
!  }, function() {
    Debug("Populated database OK")
!    })                                  ;

!  db.executeSql('SELECT count(*) AS mycount FROM DemoTable;', [], function(rs) {
!v_rev= rs.rows.item(0).mycount;
Debug("Record count (expected to be 2): " + rev)
!  }, function(error) {
!v_rev= error.message;
Debug("SELECT SQL statement ERROR: " + rev)
!  });
  
  
!v_k2r= logMessages.length;
Debug "lecture de la console.log (nb de lng: "+k2r+")"
valur.s=""
For kr = 0 To k2r-1
  !v_valur= logMessages[v_kr];
  Debug "("+kr+") "+valur
Next   
Debug "------- fin console.log -------"          
  
Debug "fin du program" 
!}, false);