2016-03-07 42 views
0

我正在開發一個phonegap應用程序,並且迄今爲止已經設置了數據庫,我已經將插入和刪除功能正常工作。WebSQL - 檢查數據庫中的記錄(javascript)

我現在正努力檢查輸入值與數據庫中的數據,所以例如現在我只是簡單地試圖檢查是否有任何行返回,如果有這將意味着用戶和輸入的通行證是在數據庫中,如果沒有行被返回,那麼用戶和pass是假的。

我沒有收到從SQL語句(函數errorCB)的任何錯誤,以及我把一個調試警報功能LoginSuccess內奏效,但除去在LoginSuccess功能調試警報後,我不明白提示任何提醒,而只是刷新頁面。

我已經刪除了代碼中的刪除和插入功能,因爲它與此問題有關。

任何幫助將不勝感激。

document.addEventListener("deviceready", onDeviceReady, false); 

      var db; 

      function onDeviceReady() { 
       db = window.openDatabase("DBkhan", "1.0", "SFDatabase", 2*1024*1024); 
         db.transaction(createDB, errorCB, successCB); 

        } 

      function createDB(tx) { 
    tx.executeSql('CREATE TABLE IF NOT EXISTS mahdi (FirstName text, LastName text, Email text, Password text)'); 

        } 

        function errorCB(err) { 
         alert("Error processing SQL: "+err.code); 
        } 

        function successCB() { 
        alert("Database Ready"); 
        } 

function loginUser() 
     { 
     db = window.openDatabase("DBkhan", "1.0", "SFDatabase", 2*1024*1024); 
     db.transaction(loginDB, errorCB, LoginSuccess); 
     } 

     function loginDB(tx) 
     { 
      var Username = document.getElementById("username").value; 
     var Password = document.getElementById("password").value; 
     tx.executeSql("SELECT * FROM mahdi WHERE FirstName='" + Username + "' AND Password= '" + Password + "'"); 

     } function LoginSuccess(tx, results) { 
      if (results.rows.length > 0) { 
      alert ("User and Pass Found"); 
      } 
      else 
      { 
      alert ("User and Pass incorrect"); 
      } 

}

回答

0

別擔心,所有固定。如果你想看看我的變化,請看下面的內容。看起來好像它是executionql語句中丟失的數組[],並將renderList(從loginSuccessful更改爲)調用到exectutesql狀態。

 function loginDB(tx) 
     { 
     alert("yep yep yep"); 
      var Username = document.getElementById("username").value; 
     var Password = document.getElementById("password").value; 
     tx.executeSql("SELECT * FROM mahdi WHERE FirstName='" + Username + "' AND Password= '" + Password + "'", [], renderList); 

     } 
      function renderList(tx,results) { 
      if (results.rows.length > 0) { 
      navigator.notification.alert("User and Pass Found"); 
      } 
      else 
      { 
      navigator.notification.alert("User and Pass incorrect"); 
      } 

}

相關問題