【问题标题】:SQLITE Query Error on Phonegap SYNTAX_ERRPhonegap SYNTAX_ERR 上的 SQLITE 查询错误
【发布时间】:2012-05-19 06:49:47
【问题描述】:

我正在尝试使用带有 IOS5 的电话间隙 [cordova 1.7.0] 上的 SQLITE 创建一个数据库。当我增加数据数量时,查询失败并输出错误。我按照存储API的步骤,所以不知道是什么问题。我尝试增加数据库大小,但仍然没有用。

这是我的代码:

function populateDB(tx) {
tx.executeSql('DROP TABLE IF EXISTS SESSION');
tx.executeSql('CREATE TABLE IF NOT EXISTS SESSION (id unique, dayId, subject, Seq)');
tx.executeSql('INSERT INTO SESSION (id unique, dayId, subject, Seq) VALUES (1, 4, "English", 1)');
tx.executeSql('INSERT INTO SESSION (id unique, dayId, subject, Seq) VALUES (2, 1, "Math", 3)');
tx.executeSql('INSERT INTO SESSION (id unique, dayId, subject, Seq) VALUES (3, 2, "Social", 5)');
tx.executeSql('INSERT INTO SESSION (id unique, dayId, subject, Seq) VALUES (4, 6, "Science", 7)');
console.log('finished filling');
 }

function queryDB(tx) {
tx.executeSql('SELECT * FROM SESSION', [], querySuccess, errorCB); //It doesn't come here
}

function querySuccess(tx, results) {
// Doesn't come here too
var len = results.rows.length;
console.log("DEMO table: " + len + " rows found.");
for (var i=0; i<len; i++){
    console.log("Row = " + i + " ID = " + results.rows.item(i).id + " Data =  " + results.rows.item(i).dayId);
 }
}

function errorCB(err) {
console.log('error x'); //Fails here
console.log("Error processing SQL: "+err.code);
}

function errorQB(err) {
console.log(' Query error x');
console.log("Error processing SQL: "+err.code);
}

function successCB() {
var db = window.openDatabase("TimeTable", "1.0", "TimeTable" , 1000000);
cosole.log('start of success');
db.transaction(queryDB, errorQB);
console.log('success transaction'); //Didn't Success
}
function onDeviceReady() {
var db = window.openDatabase("TimeTable", "1.0", "TimeTable", 1000000);
db.transaction(populateDB, errorCB, successCB);
}

这是我的日志:

     [INFO] Error processing SQL: 5 //SYNTAX_ERR

   

你知道问题是什么吗? 谢谢

【问题讨论】:

    标签: javascript ios sqlite cordova


    【解决方案1】:

    我知道我做错了什么:

    tx.executeSql('INSERT INTO SESSION (id ***unique***, dayId, subject, Seq) VALUES (1, 4, "English", 1)');
    

    我也不应该在插入语句中写类型......所以当我删除它时,它工作正常。

    【讨论】:

      猜你喜欢
      • 2012-08-15
      • 1970-01-01
      • 2011-10-14
      • 2013-10-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-25
      • 1970-01-01
      相关资源
      最近更新 更多