表不能在SQLite中创建

时间:2011-11-11 23:59:06

标签: sqlite google-chrome google-chrome-extension

我想知道为什么注意表不会创建,即使代码中没有错误!

这是我的代码:

 var db = openDatabase("Schedular", "1.0", "schedualar database", 5*1024*1024);
  db.transaction(function(tx) {
     tx.executeSql("CREATE TABLE NOTES (NOTE_ID INTEGER PRIMARY KEY AUTOINCREMENT, NOTE_DATE INTEGER, NOTE_TIME datetime, NOTE_DESC varchar(500),ALERT_TIME INTEGER, NOTES_MORE_DETAILS varchar(1000))",function(tx){},onError);

    });

function onError(tx, error) {
alert("Error Message: "+error.message);

}

以下是jsfiddle http://jsfiddle.net/m3jUd/

中的代码

1 个答案:

答案 0 :(得分:1)

您缺少一个参数(第二个参数)。它应该有一个空数组,因为你没有添加任何值。

interface SQLTransaction {
  void executeSql(in DOMString sqlStatement, in optional ObjectArray arguments, in optional SQLStatementCallback callback, in optional SQLStatementErrorCallback errorCallback);
};

由于您需要成功和错误回调,因此您缺少arguments数组。这样的事情应该有效。

var db = openDatabase("Schedular", "1.0", "schedualar database", 5*1024*1024);
db.transaction(function(tx) {
  tx.executeSql("CREATE TABLE NOTES (NOTE_ID INTEGER PRIMARY KEY AUTOINCREMENT, NOTE_DATE INTEGER, NOTE_TIME datetime, NOTE_DESC varchar(500),ALERT_TIME INTEGER, NOTES_MORE_DETAILS varchar(1000))",[], onSuccess, onError);
});

function onSuccess(tx, rs) {
    alert("Success Message");
}

function onError(tx, error) {
    alert("Error Message: "+ error.message);
}

小提琴: http://jsfiddle.net/m3jUd/1/