我正在尝试将登录时间的用户名和密码存储在使用SQLite生成的内置数据库表中的想法。
这是我的代码:-
//database //
//Transaction success callback
function createDB(tx) {
tx.executeSql('CREATE TABLE IF NOT EXISTS UserInfo (username , password)');
}
function successCB() {
var db = window.openDatabase("Database", "1.0", "Uinfo", 100000);
db.transaction(queryDB, errorCB);
}
//Transaction error callback
//
function errorCB(err) {
console.log("Error processing SQL: "+err.code);
}
//deleting previous record
function delDB(tx){
tx.executeSql('DELETE * FROM UserInfo;')
}
//Query the database
function queryDB(tx) {
tx.executeSql('SELECT * FROM UserInfo', [], querySuccess, errorCB);
}
//Query the success callback
function querySuccess(tx, results) {
var len = results.rows.length;
if (len != null){
console.log("UserInfo table: " + len + " rows found.");
for (var i=0; i<len; i++){
console.log("Row = " + i + " UserName = " + results.rows.item(i).username + " Password = " + results.rows.item(i).password);
username = results.rows.item(i).username;
password = results.rows.item(i).password;
document.getElementById('uNameId').value = username;
document.getElementById('pswd').value = password;
}
}else{
}
}
//populating table
function populateDB(tx) {
tx.executeSql('INSERT INTO UserInfo (username, password) VALUES ('+'"'+userNameInput+'"'+', '+'"'+passwordInput+'"'+')');
}
在ondeviready函数中执行此代码后,它可以工作,但在控制台中抛出错误,例如:-
sqlite returned: error code = 1, msg = near "*": syntax error
我无法找出原因。对此有任何帮助吗?
delDB(tx) 函数中的删除查询问题如何使用错误的语法
语法:从table_name中删除 [WHERE 子句]
function delDB(tx){
tx.executeSql('DELETE FROM UserInfo;')//change * remove in your function
}