我正在尝试将登录时间的用户名和密码存储在使用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
我无法找出原因。对此有何帮助?
答案 0 :(得分:1)
在delDB(tx)函数中删除查询的问题如何使用错误的语法
语法:DELETE FROM table_name [WHERE Clause]
function delDB(tx){
tx.executeSql('DELETE FROM UserInfo;')//change * remove in your function
}