0
내가 선택한 쿼리에 대한 입력으로 동적 배열을 반복하려고합니다. 모든 배열 요소에 대해 select 쿼리가 실행되지 않습니다. for 루프에서 select 쿼리를 작성했습니다. 문제는 루프가 먼저 실행되고 select 쿼리가 배열의 마지막 요소에만 수행됩니다. 이것은 비동기 함수로 인한 것일 수 있습니다. 나는이 문제를 해결할 수있는 방법은 다음과 같이 내 코드sqlite에서 select 쿼리를 반복 할 때 문제가 발생합니까?
function sendCategoryDetailsNew(myLocation)
{
var myLocationcoordinates = new Array();
var db = window.sqlitePlugin.openDatabase({name: "MYDB"});
for (var i = 0; i < myLocation.length; i++)
{
var locationName = myLocation[i];
alert(locationName);
db.transaction(function (tx) {
tx.executeSql("select Coordinates from Locationlog WHERE Location = '"+locationName+"';", [], function (tx, res)
{
for (var i = 0; i < res.rows.length; i++)
{
alert("Location : "+locationName+ " Latlongs :"+ res.rows.item(i).Coordinates);
myLocationcoordinates[i] = res.rows.item(i).Coordinates;
}
});
});
}
}
어떤 제안,
알려 드리겠습니다. :) – Vinod
경고를받지 못했습니다. 쿼리를 변경해야합니까? 어떻게 문자열이 반복 될 것인가? – Vinod
답변이 업데이트되었습니다. 하나 이상의 결과가있을 것이라고 가정하고 경고하지 말고'console.log'로 변경하십시오. 또한 이전에 반복 작업을했기 때문에 하나 이상의 위치가 전달되었다고 가정합니다.이 코드는 정보 목록을 기반으로 레코드를 찾는 데 사용되는 IN 문에 사용할 문자열을 만듭니다 . –