Я пытаюсь заполнить базу данных HTML5 WebSQL из набора операторов SQL, созданных с использованием (sqlite .dump mydb> file.sql)
Я могу прочитать файл и выполнить все операторы SQL. Однако в конце транзакции транзакция завершается с ошибкой SQLError (код = 1, сообщение = «не ошибка»).
Теперь из моих исследований я вижу, что SQLite "не ошибка" - это SQLITE_DONE.
Так почему генерируется SQLError и почему моя транзакция откатывается?
Соответствующий фрагмент Javascript приведен ниже:
database = {
/* Transaction Error Callback */
error_callback: function(error)
{
console.log('Oops. '+error.message+' (Code '+error.code+')');
},
/* Transaction success callback */
success_callback: function()
{
console.log('apparently a success!');
},
populate_exec_sql: function(tx)
{
for (var i = 0; i < lines.length; i++) // lines = Global array of SQL statements
{
var query = lines[i].replace(/\n/g,'');
//console.log(query);
tx.executeSql(query);
}
},
populate_db: function(lines)
{
db.transaction( database.populate_exec_sql, database.error_callback, database.success_callback );
}
}