2015-01-19 5 views
0

이 Cursor Database 쿼리의 결과를 String 또는 int 값으로 가져오고 싶지 않지만 할 수 없었습니다. 내가 coursor.getstring 또는 getint에 대해 알고 있지만 probelm 아래의 경우 및 쿼리 기능에 적용하는 데 있습니다. 아래 쿼리와 함수입니다 .. 내 데이터베이스 자바 작업을 만든이 메서드는 그것에 있었다. ...누구나이 데이터베이스 쿼리에 도움이 될 수 있습니까?

public Cursor getUpdatedAmount(){ 
String amountQuery="select sum(amount) from travelling_exp where call_id=1;"; 
Cursor cursor = myDatabase.rawquery(amountQuery,null); 
return cursor; 
} 

쿼리는 오류없이 정상적으로 작동합니다. 기본적으로 나는 금액의 합계를 삭제하거나 내 데이터베이스에 변경 후 저장하고 편집문에 합계 값을 표시합니다. 하지만 문제는 커서 값을 값 문자열 또는 int로 변환 할 수 없다는 것입니다.

내가 지금까지 내 다른 자바 파일에서 DB 쿼리 기능 위를 구현하는 방법이다 : 양의 열에서 값이 다음 100020003000 경우

Cursor cursor = myDB.getUpdatedAmount(); 

fucntion 전직의 합계 금액을 반환 위의 쿼리는 합계 = 6000을 반환합니다. 그래서 저장하고 6000을 ediitext에 표시하려고합니다. .toString을 사용하고 작동하는 다른 방법을 찾지 만 운을 찾지 못했습니다. 아무도 나를 도와 줄 수 없어요. 저와 제 프로젝트에 매우 중요합니다. 사전에

덕분에

+0

쇼 당신은 시도 것을, 그리고 오류 너있어. – ElefantPhace

+0

나는 cursor.tostring을 시도했다; 하지만 그것은 나에게 안드로이드처럼 이해할 수없는 가치를주었습니다 .view ...... 2131 @ ds .. 이와 비슷한 것 .. 그리고 문자열을 사용하여 문자열로 변환하려고했습니다. abc = String.format (); 내 쿼리는 괜찮습니다. 나는 sqlite에서 쿼리를 실행할 때 값을 얻지 만 문자열 또는 int에서 반환 된 커서 값으로 변환하여 ediitext에 표시 할 수 있습니다. – SharingIsCaring

+0

예, toString이 원하는 것이 아닙니다. getInt (getInt (0)' – ElefantPhace

답변

0

그것은 당신이 getInt(0)을 테스트한다면 당신은 당신이 답을 가지고 있음을 볼 수있을 거라고,하지만 당신은 단지를 선택하고 있기 때문에

여기있다, 정말 어렵지 않다 SUM 다음 1 열 및 1 행만 반환되므로 그 이유는 getInt(0)입니다.

public String getUpdatedAmount(){ 
    String amountQuery="select sum(amount) from travelling_exp where call_id=1;"; 
    Cursor cursor = myDatabase.rawquery(amountQuery,null); 
    if(cursor.moveToFirst()){ 
     return "" + cursor.getInt(0); 
    } 
} 

주의 : 나는 String을 반환하는 함수를 변경했습니다과 Cursor

그래서 당신은 다음과 같이 사용할 수 없습니다 :

txtTotal.setText(getUpdatedAmount()); 
+0

실제로 이것은 내가 혼란 스러웠던 것입니다. getint 또는 getstring을 적용하여 커서를 변환 문제를 피하는 방법입니다. 나는 이것을 분명히 시도 할 것입니다 ... 아주 빠른 응답과 도움을 주셔서 감사합니다. :) – SharingIsCaring

+0

글쎄요. 지금. 먼저 getInt (0) .toString() 줄에 오류가 발생했습니다. 기본 유형 int에서 toString()을 호출 할 수 없습니다. getint를 getString으로 변경 한 다음 return 문을 추가하는 오류가 발생할 수 있습니다. 왜냐하면 retunr cursor.getint (0) .tostring();은 더 많은 괄호 안에 있습니다 .... 그래서 "return string"return amountquery ?? 이걸로 나를 도울 수 있습니까? – SharingIsCaring

+0

나는 그것보다 더 잘 알아야했습니다! 빠른 수정은'return "이 될 것입니다."+ cursor.getInt (0)' – ElefantPhace