Предыстория приложения:
- Загрузка БД с помощью $cordovaFileTransfer.
- Разархивировать его с помощью $cordovaZip
- Доступ к БД с помощью window.sqlitePlugin.openDatabase({name: 'имя БД'})
Сохранение БД по адресу 'cordova.file.dataDirectory;'
Когда я пытаюсь выполнить команды в БД, используя следующий код:
db.executeSql(query, parameters, function (result) {
//alert('execution result is in console');
console.log('Check SELECT result from rows: ' +
JSON.stringify(result.rows.item(0)));
//alert('Check SELECT result from rows: ' +
JSON.stringify(result.rows.item(0)));
console.log('Check SELECT result from rows_only result: ' +
JSON.stringify(result));
q.resolve(result);
},function(error){
alert('Error from factory DBA self.query: ' + JSON.stringify(error));
q.reject(error);
});
Для iOS все работает нормально, и я вижу результат в функции успеха, тогда как в Android его входной блок ошибок говорит: «Ошибка оператора подготовки sqlite - такой таблицы нет»
Примечание. Раньше я получал ошибку EROF на Android, прежде чем изменить местоположение базы данных с documentDirectory на dataDirectory.