2013-01-03 51 views
1

我必須將sql lite數據庫放在哪裏以便與使用類似於以下內容的sql lite腳本訪問它的應用程序一起使用? :Black Berry的紋波模擬器:如何使用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); 
    } 
} 

由於提前, 西蒙娜

回答

0

你不需要把數據庫的任何地方。當你的應用程序調用window.openDatabase()時,系統決定在哪裏保存數據庫。

但是我確實在代碼片段中看到了問題。您可以在db = window.openDatabase()後立即調用db.transaction。由於這兩個語句都是異步的,所以不能保證在開始事務時數據庫已經打開。

下面是一個可以幫助您入門的工作示例嗎? http://blackberry.github.com/WebWorks-Samples/kitchenSink/js/html5/webdb.js

相關問題