2012-08-09 4 views
2

현재 Phonegap 2.0을 사용하고 있으며 내 앱에서 SQL 트랜잭션을 실행하고 있습니다. 응용 프로그램이 시작되면, 나는 (특정 프로그래머의 암사슴을 보호하기 위해 편집) 다음 코드가 Phonegap SQL에서 오류가 발생하지만 성공 함

document.addEventListener("deviceready", onDeviceReady, false); 
var db; 
function onDeviceReady() { 
    db = window.openDatabase('gophersspots','1.0','Gophers Spots',200000); 
    db.transaction(function(tx){ 
     tx.executeSql('CREATE TABLE IF NOT EXISTS search_history (searchval_what VARCHAR (500), searchval_where VARCHAR (500), date TIMESTAMP DEFAULT CURRENT_TIMESTAMP)'); 
    }; 
}; 

그리고 내 페이지 중 하나에 대한 내 pagebeforechange 코드

, 나는 다음과 같은 거래 있습니다

db.transaction(function(tx){ 

tx.executeSql('SELECT * FROM gophers_search_history ORDER BY date DESC', [], function(tx,results){ 
      //Do some code here....let's call is Success A. 



},function(err){ 
     alert("Error processing get search SQL: "+err); 
     console.log(err.code); 
     console.log(err.message); 
    },function(){ 
     //alert("Database SQL query successful!"); 
    }) 

이제 기괴한 것이 있습니다. 이 쿼리를 실행하면 오류 메시지가 나타납니다. 내가 받고있는 코드는 0이고 메시지는 문 콜백이 예외를 발생 시키거나 문 오류 콜백이 false를 반환하지 않습니다.

성공 함수도 실행됩니다! 성공 함수 A가 실행되고 결과가 있고 모든 것이 잘 작동합니다. 내가 놓친 게 있니?

관련성이 있는지는 확실하지 않지만 최근 Phonegap/Cordova 1.7.0에서 2.0.0으로 변경되었습니다. 아직 구문을 변경했는지 확인하기 위해 문서를 확인한 후 다음 단계로 진행합니다. 여기에 문제가있는 사람이 있는지 확인하고 싶습니까?

나를 위해 이것을 해결하는 사람이 맥주 공장과 평생 스트립 클럽 회원을 신비하게 물려받을 수 있습니다. 아멘.

+0

Try Catch 및 예외 개체에서 코드를 래핑하십시오. 오류 문자열 –

+0

@HamzaWaqas가이를 시도하고 나에게 약간의 진로를주었습니다. try-catch에서 전체 SQL 트랜잭션을 래핑하는 것은 작동하지 않지만 성공 함수 만 래핑하면 작동합니다. 감사! –

+0

즐거움. 항상 오류 문자열을 얻기 위해 코드를 래핑하십시오. –

답변

0

해결 방법 : 그것은 결국 SQL에 문제가되지 않았 음을 나타냅니다. 대신, listview 플러그인이 너무 일찍 호출되고있었습니다 (위 코드에서 Success 함수 A의 일부였습니다).

+0

PhoneGap API에 버그가 있다는 말인가? –

+0

IIRC 측에서는 오류가 발생했습니다. –

+0

@AshMenon 나는 당신이 일하기 위해 무엇을 바꾸 었는지 알 수 있습니다. 왜냐하면 저는 또한 똑같은 문제를 겪고 있고 그것을 고치려고 애쓰는 중입니다. – Beginner

관련 문제