2013-09-26 70 views
1

我開發一個web應用程序,我有現成的database.I'm試圖從數據庫中獲取數據使用的WebSQL,但得到的錯誤爲「ExceptionReferenceError:TX沒有定義」如何使用WebSQL訪問數據庫?

代碼:

var databaseSync = null; 

try 
{ 
    databaseSync = openDatabase("database", "1.0", "Database", 10 * 1024 * 1024); 
    databaseSync.transaction(function(tx){ 
     tx.executeSql('SELECT distinct(Subject) FROM Data', [], function (tx, cb_results){ 
     var len = cb_results.rows.length; 
     var results = []; 
    for (i = 0; i < len; i++) 
    { 
    var row = cb_results.rows.item(i); 
     $("#list").append('<li><a href="#" id="">'+ row.Subject +'</a></li>'); 
      $("#list").listview('refresh'); 
    }  
     }, function(){console.log("Transaction success");}, function(tx, error){console.log("Error" + error.message);}); 

    }); 
} 
catch (e) { 
    // TODO: handle exception 
    console.log("Exception" +e); 
} 

在列表視圖中追加結果但未獲取。

在此先感謝。

回答

0

嘗試是這樣的:

var databaseSync = null; 
try 
{ 
    databaseSync = openDatabase("database", "1.0", "Database", 2 * 1024 * 1024); 
    databaseSync.transaction(function(tx){ 
     tx.executeSql('SELECT distinct(Subject) FROM Data', [], function (tx, cb_results){ 
     var len = cb_results.rows.length; 
     var results = []; 
    for (i = 0; i < len; i++) 
    { 
    var row = cb_results.rows.item(i); 
    results[i] = row; 
    }   
     console.dir(results); 
     }, function(){console.log("Transaction success");}, function(tx, error){console.log("Error" + error.message);}); 

    }); 
} 
catch (e) { 
    // TODO: handle exception 
    console.log("Exception" +e); 
} 

而且,爲什麼只有2MB的數據庫?

- 編輯 -

OK,這裏是一個函數的例子,如在現場項目中使用:

function return_icd10_vwxy_headers(callback) 
{ 
    var results = []; 
    session_storage_database_handle.transaction(function (tx) { 
     tx.executeSql("SELECT mainid, key, description FROM qicd10vwxy WHERE parent = '0';", [], function (tx, query_result) 
     { 
      var len = query_result.rows.length; 
      for (i = 0; i < len; i++){ 
       var row = query_result.rows.item(i); 
       results[i] = { 
           mainid: row["mainid"], 
           key: row["key"], 
           description: row["description"] 
          }; 
      } 
      callback(results) 
     }); 
    }); 
} 

也許你能看到的東西你錯過了。

+0

如何在列表視圖中獲取該數據庫數據 – Lucky

+0

此代碼適用於我 - 用於衆多項目中。你看到了什麼?你在什麼瀏覽器中使用這個? console.dir給你什麼?僅限 –

+0

事務成功顯示在控制檯窗口中..我正在使用chrome – Lucky