2013-01-03 3 views
1

Où dois-je mettre la base de données sql lite afin de travailler avec elle avec une application qui y accède en utilisant un script sql lite similaire à celui-ci? :Émulateur Ripple pour Black Berry: comment travailler avec sql lite?

function GetComuni(dbName,sqlStmt) 
{ 
    try 
    { 
     if (!window.openDatabase) { 
      alert('Databases are not supported on this device. Sorry', 'error'); 
     } else { 
      var db; 
      var version = '1.0'; 
      var maxSize = 102400; 

      db = window.openDatabase(dbName, version, dbName, maxSize); 

      db.transaction(
       function (tx) { 
        tx.executeSql(sqlStmt, [], function (tx, result) { 
          var schemanode = document.GetElementById('COMUNI'); 
          schemanode.innerHTML = ""; 
          dataset = result.rows; 
          for (var i = 0, item = null; i < dataset.length; i++) { 
           item = dataset.item(i); 
           var notediv = document.createElement('div'); 
           notediv.innerHTML = 'Codice Provincia:' + item['PROVINCIA'] + 'Nome:' + item['NAME']; 
           schemanode.appendchild(notediv); 
          } 
         } 
        ) 
       } 
      ) 
     } 
    } 
    catch(ex) 
    { 
     alert(ex); 
    } 
} 

Merci à l'avance, Simone

Répondre

0

vous n'avez pas besoin de mettre partout la base de données. Lorsque votre application appelle window.openDatabase(), le système détermine où enregistrer la base de données.

Cependant, je vois un problème dans votre fragment de code. Vous appelez db.transaction immédiatement après db = window.openDatabase(). Étant donné que ces deux instructions sont asynchrones, il n'y a aucune garantie que la base de données a été ouverte au moment où vous démarrez une transaction.

Voici un exemple pratique qui pourrait vous aider à démarrer. http://blackberry.github.com/WebWorks-Samples/kitchenSink/js/html5/webdb.js

Questions connexes