У меня есть приложение, которое использует предварительно заполненную базу данных sqlite (сначала я попытался заполнить ее через программу, но из-за этой же проблемы я не смог ее заполнить). Все в порядке (открытие и SELECT-запросы), пока я не попытаюсь изменить (с помощью запросов UPDATE или DELETE) данные. Это просто не работает и ничего не делает. Нет вызова функций обратного вызова, нет ничего.
Я пробовал на Android и iOS, с одинаковыми результатами.
Это мой код: открытие БД :
function onDeviceReady() {
db = window.sqlitePlugin.openDatabase({
name: "mis_comentarios.sqlite",
location: 1
});
Следующая функция работает нормально:
function pinta_lista_notas() {
db.transaction(function(tx){
my_reference=document.form2.ref_ev.value
my_query='select * from t_notes where ref_ev="'+my_reference+'"'
tx.executeSql(my_query, function(err){
alert('Error: '+err.code)
}, function(tx, resultado) {
my_output=''
var longitud = resultado.rows.length;
for (var i=0; i<longitud; i++){
my_output +="<div >"+resultado.rows.item(i).texto+"</div>";
}
$('#my_coment').html(my_output)
});
}, function(err){
alert('error de algun tipo al listar '+err.code)
});
}
Но не эти другие:
function del_item(num_com) {
db.transaction(function(tx){
var query = 'DELETE FROM t_notes WHERE clv_note = "'+num_com+'"';
tx.executeSql(query, [], function(tx, resultado) {
alert ('Item deleted')
}, errorCB);
}, errorCB);
}
function edit_item(num_com) {
db.transaction(function(tx){
var query = 'UPDATE t_comentarios SET texto = ? WHERE clv_coment = ?';
tx.executeSql(query, [nuevo_com, num_com], function(tx, resultado) {
alert('Item updated')
}, errorCB);
}, errorCB);
}
... ни эта другая версия:
function del_item(num_com) {
db.transaction(function(tx){
var query = 'DELETE FROM t_notes WHERE clv_note = ? ';
tx.executeSql(query, [num_com], function(tx, resultado) {
alert ('Item deleted')
}, errorCB);
}, errorCB);
}
и никогда не вызываемая функция для ошибок:
function errorCB(err) {
alert("SQL error: "+err.code);
}
Весь этот код работал нормально в другом приложении, которое я делал несколько лет go, и он продолжает нормально работать внутри этого приложения ( это не было обновлено наряду с новыми версиями Xcode, Android Studio ...).
Я также попробовал решения, упомянутые здесь: Плагины Cordova не работают после обновления Xcode и Cordova ( OSX) и в любом другом месте с похожими вопросами, но ничего не работает.
Заранее благодарен за любую помощь.