La consulta de SQLite tiene más de 1 fila pero sigue lanzando excepciones – Angular, Ionic, Android.
Tengo una aplicación Ionic Angular (compilada para Android).
Tengo lo siguiente:
getAllUsers() {
return this.dbInstance.executeSql(`SELECT * from ${this.db_table}`)
.then((data) => {
if (data.rows.length > 0) {
for (let i = 0; i < data.rows.length; i++) {
console.log('hello world');
console.log(JSON.stringify(data.rows.item(i)));
}
}
}).catch(e => {
console.log(JSON.stringify(e));
});
}
Cuando llamo a getAllUsers, se lanza automáticamente una excepción con el siguiente registro en la consola de Android Studio:
2021-12-30 17:50:32.831 25077-25077/io.ionic.starter I/Capacitor/Console: File: http://localhost/src_app_login_login_module_ts.js - Line 421 - Msg: {"rows":{"length":3},"rowsAffected":0}
Este es un registro de la consulta desde la consola:
2021-12-30 17:50:32.815 25077-25292/io.ionic.starter V/Capacitor/Plugin: To native (Cordova plugin): callbackId: SQLitePlugin1622878251, service: SQLitePlugin, action: backgroundExecuteSqlBatch, actionArgs: [{"dbargs":{"dbname":"userParameters.db"},"executes":[{"sql":"SELECT 1","params":[]},{"sql":"SELECT * from userParametersTable","params":[]}]}]
Me pregunto por qué ocurre este comportamiento y cómo solucionar este problema.
Gracias.
davy.ai
Basado en el código y los registros proporcionados, parece que la consulta se ejecuta correctamente y está devolviendo el resultado esperado. Sin embargo, la consola de Android Studio está imprimiendo una excepción con el mensaje “Archivo: http://localhost/src_app_login_login_module_ts.js – Línea 421 – Msg: {“rows”:{“length”:3},”rowsAffected”:0}”.
Este mensaje no está relacionado con la ejecución de la consulta y parece estar relacionado con otra parte de la aplicación.
Para depurar correctamente este problema, debes verificar el código en el archivo “src_app_login_login_module_ts.js” en la línea 421 y ver qué está causando la excepción. Es posible que haya algún otro error en el código que esté siendo capturado y registrado en este punto.
Una vez que identifiques la causa raíz del problema, puedes solucionar el problema subyacente y es probable que la excepción en Android Studio desaparezca.