Как говорится в the guide on htm5sql.com, есть несколько способов, чтобы дать html5sql.js SQL заявления и ваша ошибка вызвана смешивая несколько различных способов.
Как и упоминавшийся в его ответе xdazz, первый аргумент html5sql.process может быть просто строкой с одним или несколькими операторами sql. Вы также можете передать массив строк sql-операторов или объектов-операторов sql. Преимущество использования объектов-операторов sql заключается в том, что вы можете определить массив данных и указать индивидуальные обратные вызовы.
Так по существу Вы можете сделать это:
$(function() {
html5sql.openDatabase("demo", "Demo Database", 5 * 1024 * 1024);
html5sql.process(
[
"DROP TABLE IF EXISTS speedtest;",
"CREATE TABLE speedtest (id INTEGER PRIMARY KEY, label TEXT);",
{
sql: "INSERT INTO speedtest VALUES (?, ?);",
data: [1,'1'],
success: function(transaction, results) {
console.info('Success Inserting First Record');
}
},
{
sql: "INSERT INTO speedtest VALUES (?, ?);",
data: [2,'2'],
success: function(transaction, results) {
console.info('Success Inserting Second Record');
}
}
],
function() {
console.log("Final Sucess Callback");
},
function(error, failingQuery) {
console.error("Error: " + error.message);
}
);
});
Демонстрационный этого можно найти in this jsfiddle
Спасибо так много. Вообще-то, я ждал вашего ответа, просто у меня не было способа отправить вам «личное сообщение». Это полностью исправило это для меня. Пожалуйста, продолжайте документировать свой путеводитель, он по-прежнему пропускает некоторые вещи, например, как поймать результаты SQL-запроса. – MauroPorrasP