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

时间:2013-12-20 12:08:34

标签: android sqlite cordova

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

我无法找出原因。对此有何帮助?

1 个答案:

答案 0 :(得分:1)

在delDB(tx)函数中删除查询的问题如何使用错误的语法
语法:DELETE FROM table_name [WHERE Clause]

function delDB(tx){    
    tx.executeSql('DELETE FROM UserInfo;')//change * remove in your function    
}