繁体   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