2014-02-18 38 views
1

我想將我的Select語句的結果打印到我的HTML(phonegap)列表中。我正在使用Sqlite(這是項目的要求)來存儲我的表。
未捕獲RangeError:項目索引超出範圍錯誤Sqlite查詢結果phonegap

我的SELECT語句:

 function queryDB(tx) { 
     tx.executeSql('SELECT servidor, banco, usuario, senha FROM DEMO', [], querySuccess, errorCB); 
    } 

    function querySuccess(tx, results) { 

     var row = results.rows.item(0); 

      $("#servidor").val(row['servidor']); 
      $("#banco").val(row['banco']); 
      $("#usuario").val(row['usuario']); 
      $("#senha").val(row['senha']); 


當我運行我的代碼,它正確地顯示在列表中的演示表中的所有記錄,但我得到一個「未捕獲的RangeError:項目指標超出範圍」的錯誤的在這條線:

 $("#servidor").val(row['servidor']); 
     $("#banco").val(row['banco']); 
     $("#usuario").val(row['usuario']); 
     $("#senha").val(row['senha']); 

在此任何瞭解,將不勝感激

回答

0

在嘗試盲目訪問數據之前,您應該檢查變量行是否有值。從它的外觀來看,你可能在行變量中沒有任何數據,或者至少沒有你想要獲得的數據。您需要在Chrome,Firefox中使用開發工具,也就是說,如果您要編寫JavaScript,只需要使用它們並不重要。你會得到錯誤。

//this statement may be throwing the error, you should be debugging this code in a browser using the development tools. 
      var row = results.rows.item(0); 
     if(row.length > 0){ 
        $("#servidor").val(row['servidor']); 
        $("#banco").val(row['banco']); 
        $("#usuario").val(row['usuario']); 
        $("#senha").val(row['senha']) 
    }else{ 
     alert('row has no data'); 
    }