1
Phonegap의 데이터베이스를보다 쉽게 사용할 수있는 객체를 작성했습니다. SELECT 문의 부분은 다음과 같습니다.Phonegap에서 작동하도록 SQLite SELECT 문을 가져올 수 없습니다.
/********************
* Database SELECT: *
********************/
global.select = function(query)
{
var resultSet = null;
db.transaction(function(tx){ // Do SQL stuff here:
tx.executeSql(query, [], function(tx, results){ // Success:
// When results are there:
if(results != null)
{
// return them for using them:
resultSet = results;
alert("Results are here: " + results);
}
// In all other cases:
else
{
// Return false (error):
return false;
}
}, function(error){ // Error:
global.logError(error);
});
}, function(error){ // Error:
global.logError(error);
}, function(){ // Success:
consoleLog("SELECT complete!");
alert("Return would be: " + resultSet);
return resultSet;
});
} // <-- global.insert = function(query)
두통을 유발하는 부분은 위 기능을 사용하여 테이블에서 모든 것을 선택하려고합니다. 내가으로 실행하는 문제는 여기에
코드가 물건을 선택하려고 ... 이렇게, 나는 나를 넘어 비동기 동작을 얻을 수 있습니다 :var results;
if(results = db.select('SELECT * FROM my_table WHERE 1'))
{
alert("Result in index.html success: " + results);
// Do stuff with query results here...
}
else
{
alert("Result in index.html failure: " + results);
}
이 실행의
alert("Result in index.html failure: " + results);
은 제가 처음 보는 출력물입니다. 선택이 시작되기 전에 실행되는 것 같습니다. 내가 도대체 뭘 잘못하고있는 겁니까?
또한 SELECT 함수에서 결과를 반환하는 방법을 모르겠습니다. 중첩 된 함수가 있으므로 정상적으로 처리하는 방법을 알지 못합니다. 그 부분에 대한 아이디어가 있습니까?
감사합니다.
지적 해 주셔서 감사합니다! 즉, 위에서 언급 한 접근 방식으로 데이터베이스 호출을 좀 더 쉽게 만들 수는 없습니까? 내가 이것을 성취 할 수있는 또 다른 방법이 있습니까? 지금 당장은 '힘든 길'을 할 것입니다. ;) –
데이터베이스 호출은 결코 쉬운 일이 아닙니다. 항상 여러 기능을 함께 연결해야합니다. –
다시 한번 감사 드리며 답을 수락했습니다. 동일한 문제에 직면 한 사람들을 위해 : 나는 코드 템플릿을 사용하여 코드를 만들었습니다 ... 완벽하지는 않지만 매번 처음부터 코딩하는 것보다 낫습니다! :) –