简体   繁体   English

使用JavaScript检查SQLite中是否已经存在用户名

[英]Check if username already exists in SQLite using JavaScript

I am new to JavaScript and am making a restaurant app which consists of a registration form. 我不熟悉JavaScript,正在制作包含注册表的饭店应用。 I want to check if the username already exists and if it does exist it should throw an alert to the user on button click. 我想检查用户名是否已经存在,如果确实存在,则应在单击按钮时向用户发出警报。

JavaScript code: JavaScript代码:

<script type="text/javascript">
var db;
var shortname="R_loginDB";
var version = "1.0";
var displayName = "R_loginDB";
var maxSize = 90000;

function onBodyLoad() {
    db = openDatabase(shortname,version,displayName,maxSize);
    db.transaction(function(tx){
        tx.executeSql('CREATE TABLE IF NOT EXISTS R(UserName TEXT NOT NULL PRIMARY KEY,Password TEXT NOT NULL,ConPassword TEXT NOT NULL)');
    });
}

function ListDBValues() {
    if (!window.openDatabase) {
        alert('Databases are not supported in this browser.');
        return;
    }

    $('#output').html('');

    db.transaction(function(transaction) {
        transaction.executeSql('SELECT * FROM R;', [], function(transaction, result) {
            if (result != null && result.rows != null) {
                for (var i = 0; i < result.rows.length; i++) {
                    var row = result.rows.item(i);
                    $('#output').append('<br>' +  ' ' + row.UserName+ ' ' + row.Password + ' '+ row.ConPassword);
                }
            }
        });
    });

    return;
}

ListDBValues();

function AddValues() {
    var flag = false;
    if ($("#pass").val() != $("#conpass").val()) {
        alert("Passwords do not match.");
        window.location.href = "r_register.html";
    } else if (flag == false) {
        try {
            db.transaction(function(transaction) {
                transaction.executeSql('INSERT INTO R(UserName, Password, ConPassword) VALUES (?,?,?)',[$('#uname').val(),$('#pass').val(),$('#conpass').val()]);
            });
            flag = true;
            window.location.href = "login.html";
        } catch(err) {
            alert("Username " + $("#uname").val() + " is already taken!! Please chose another one");
            window.location.href = "r_register.html";
        }
    }
}

AddValues();
</script>

HTML code: HTML代码:

<body onload="onBodyLoad()">
<div id="main">
    <img id="bg" src="file:///android_asset/www/images/bigtable_1_blur.jpg"/>

    <input id="uname" type="text" placeholder="    Username"></input>
    <input id="pass" type="password" placeholder="    Password"></input>
    <input id="conpass" type="password" placeholder="    Confirm Password"></input>
    <a href="login.html"><p id="login"><b>Already have an account?<i><u>Login</u></i></b></p></a>

    <!-- <a href="second.html"> -->
    <input id="btn" type="button" value="Register" onclick="AddValues()"></input><br/>

    <!-- </a> --> 
    <input id="btn2" type="button" value="show"  onclick="ListDBValues()"/></input>

    <span id="output"></span>
</div>
</body>

WebSQL API is depricated. WebSQL API已描述。 It is unlikely to ever be supported on platforms that don't currently support it, and it may be removed from platforms that do. 目前尚不支持它的平台上不太可能支持它,并且可以从不支持它的平台上删除它。

Try using localStorage instead. 尝试改用localStorage。 Check out more at Cordova storage documentation Cordova存储文档中查看更多信息

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM