簡體   English   中英

WebSQL-檢查數據庫中的記錄(javascript)

[英]WebSQL - Check database for records (javascript)

我正在開發一個phonegap應用程序,到目前為止,已經設置了我可以正常使用插入和刪除功能的數據庫。

我現在正在努力用數據庫中的數據檢查輸入值,所以例如現在,我只是簡單地嘗試檢查是否返回了任何行,如果有的話,這意味着用戶和輸入的通行證都在數據庫中,如果沒有返回任何行,則用戶和pass為false。

我沒有從sql語句中獲取任何錯誤(函數errorCB),也沒有在函數LoginSuccess中放置調試警報,並且該警報起作用了,但是在LoginSuccess函數中刪除了調試警報之后,我沒有收到任何警報的提示而是刷新頁面。

我已從代碼中刪除了delete和insert函數,因為它與此問題相關。

任何幫助都感激不盡。

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");
           }

}

不用擔心,所有問題都已解決。 如果您想了解一下我所發生的變化,請參見下文。 好像是executesql語句中缺少的數組[]一樣,並將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");
           }

}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM