2013-03-28 2 views
0

내가 이클립스 ADT에서 디버깅 두 번째 줄의 원인 에러에있는이 2 개 라인을 찾을 수 없습니다 승인. 그것은 totalHours와 관련이있는 것처럼 보입니다. 그러나 과일과 동일한 유형입니다. INTEGER. 쿼리이 4 개 이상의 열을 반환 할 수 있습니까? 나는 모든 rawquery 사용하도록 변경하면안드로이드 앱 개발자 db.query 던져 오류 소스는

도 잘 작동 :

Cursor cursor = db.rawQuery("SELECT * FROM PickingPeriod WHERE isDeleted = 0",null); 

내가 쿼리이상 rawquery 바람직하다 몇 가지 제안을 읽어 그러므로 내가 쿼리를 작업을 좀하고 싶습니다. 어떤 질문에 쿼리 라인이 잘못 되었습니까? 사전에

감사

+0

totalHours의 철자와 테이블에 정의 된 것을 확인하십시오. –

+0

totalHours라는 열 이름이 전체적으로 복사 붙여 넣어졌으며 테이블 만들기 스크립트와 비즈니스 클래스의 매핑 속성을 모두 똑같이 확인했습니다. 어쨌든 Hoan 고마워. – user1855656

+0

나는 단순함을 위해서 totalHours의 이름을 몇 시간으로 바 꾸었습니다. 아직 운이 ... 초조함 ... – user1855656

답변

0
에서 쿼리 방법에 대해 읽을 수 있습니다

Cursor cursor = db.query("PickingPeriod", tableColumns,"isDeleted = ? " , new String[] { String.valueOf(0) }, null, null, "name");

그냥 여기에 내 수정 사항을 공유하고 싶습니다, 그것은 테이블에 누락 된 열 totalHours에 의해 분명히 발생했습니다. 데이터베이스가 동일한 db 버전 1로 작성된 후에 테이블에 추가되어야합니다. 데이터베이스 버전을 2로 업데이트하여 데이터베이스를 다시 생성하도록 트리거하는 방법을 배웠습니다. 열거자를 다시로드하면 테이블이 다시 작성되었습니다 이제 모든 것이 잘 작동합니다. 도와 주신 모든 분들께 감사드립니다. 희망은 내 솔루션은 다른 초보자에게 도움이됩니다.

그러나 나에게 남은 질문은 특히 데이터베이스 수정을 원할 때마다, 특히 버그를 수정하면서 db 버전 번호를 늘리고 싶지 않다는 것입니다. db 버전을 늘리지 않고도 데이터베이스를 수정할 수 있습니까?

+0

시스템 설정을 통해 데이터를 삭제하거나 앱을 제거하기 만하면됩니다. 이 작업은 데이터베이스를 삭제합니다. 데이터베이스 onCreate가 존재하지 않는 경우에만 호출됩니다. –

0

문제는 다음과 같이 3 인수 "isDeleted = 0"에, 당신의 코드를 변경 시도입니다 : 당신은 Android Developer site.

+0

안녕하세요, Shajeel, 도와 주셔서 감사합니다.하지만 제안 된 코드에 오류가 표시됩니다. 유형이 일치하지 않습니다 : 문자열을 int로 변환 할 수 없습니다. – user1855656

+0

지금 확인하십시오. 나는 네가 빨리 대답하고 네 번째 인수에서'String []'앞에'new '를 추가하는 것을 잊어 버려서 유감이다. –