#sqlite #google-chrome #google-chrome-extension
#sqlite #google-chrome #google-chrome-расширение
Вопрос:
Я хочу знать, почему note table не создается, даже если в коде нет ошибки!
Вот мой код:
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:
У вас отсутствует параметр (2-й параметр). У нее должен быть пустой массив, поскольку вы не добавляете никаких значений.
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 /