Olá a todos.
Estou desenvolvendo um aplicativo android em cordova e utilizando o sqlite. Ao executar uma consulta sql (ex. SELECT * FROM db_teste) eu recebo os dados (codigo e nome), porém, ao realizar dentro deste "for" de recebimento de dados outra consulta usando os dados recebidos para consulta em outra tabela (Ex. Pego o codigo da tabela db_teste e executo a consulta SELECT * FROM db_teste_teste WHERE cod_teste='" + cod + "' ORDER BY codigo) eu recebo os dados da segunda consulta somente quando toda a primeira é feita. Abaixo segue o que está na minha função listaDadosTabelas. OBS.: Eu vou jogando os resultados dentro uma div com ID="app".
var html = "";
var sql = "SELECT * FROM db_teste ORDER BY codigo";
await tx.executeSql(sql, [], function(tx, result) {
if(result.rows != null && result.rows.length > 0) {
for(var i = 0; i < result.rows.length; i++) {
var row = result.rows.item(i);
var cod = row.codigo;
var nome = row.nome;
document.getElementById("app").innerHTML += "COD.: " + cod + " - NOME: " + nome + "<br>";
var sql1 = "SELECT * FROM db_teste_teste WHERE cod_teste='" + cod + "' ORDER BY codigo";
tx.executeSql(sql1, [], function(tx, result1) {
if(result1.rows != null && result1.rows.length > 0) {
for(var c = 0; c < result1.rows.length; c++) {
var row1 = result1.rows.item(c);
var cod1 = row1.codigo;
var nome1 = row1.nome;
document.getElementById("app").innerHTML += "COD.: " + cod1 + " - NOME: " + nome1 + "<br>";
}
document.getElementById("app").innerHTML += "<br>";
} else {
document.getElementById("app").innerHTML += "NENHUM DADOS ENCONTRADO TABELA TESTE TESTE...<br>";
}
}, function(error) {
document.getElementById("app").innerHTML += "ERRO AO BUSCAR DADOS TABELA TESTE TESTE...<br>";
});
}
} else {
document.getElementById("app").innerHTML += "NENHUM DADOS ENCONTRADO TABELA TESTE...<br>";
}
}, function(error) {
document.getElementById("app").innerHTML += "ERRO AO BUSCAR DADOS TABELA TESTE...<br>";
});