在PhoneGap应用程序中使用SQLite实现内置数据库时出错



我正在尝试将登录时间的用户名和密码存储在使用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    
}

相关内容

最新更新