2012-10-08 4 views
0

특정 열 (내 경우에는 pos_report_id)이 비어 있거나 null이 아닌 테이블에서 일부 열을 선택해야합니다. 나는 ('USER_ID = '23에 대한) SQLiteDatabaseBrowser이 코드를 시도하고 그것을 잘 작동합니다 :필드가 비어있는 레코드를 선택하십시오.

ERROR AndroidRuntime Caused by: android.database.sqlite.SQLiteException: near "": syntax error: , while compiling: SELECT information_action.target_type, information_action.message_type,information_action.start_date, information_action.end_date, information_action.content, information_action.status FROM information_action INNER JOIN information_to_user ON information_to_user.information_action_id = information_action.id_information_action WHERE information_action.pos_report_id ='' AND information_to_user.user_id ='23' 

어떤 생각 방법 : 나는 응용 프로그램을 실행할 때

"SELECT information_action.target_type, information_action.message_type," 
       + "information_action.start_date, information_action.end_date, information_action.content, information_action.status " 
       + "FROM information_action INNER JOIN information_to_user ON " 
       + "information_to_user.information_action_id = information_action.id_information_action " 
       + "WHERE information_action.pos_report_id ='' AND information_to_user.user_id ='" 
       + user_id + "'"; 

하지만 코드

, 나는이 오류 이 문제를 해결하려면? 왜 그걸로 괜찮지?

답변

0

user_id는 데이터베이스의 char 필드입니까? 정수로 보입니다. 이 권리가 23에서 '를 제거하십시오.

+0

문제는 user_id에 있지 않으며 pos_report_id에 있습니다. pos_report_id가 비어 있는지 확인해야합니다. – Gabrielle

0

귀하의 질문에 WHEREON 절을 모두 사용하셨습니다. 이 대신 하나의 작은 변화를 사용해보십시오. 다음을 사용하십시오.

"SELECT information_action.target_type, information_action.message_type," 
       + "information_action.start_date, information_action.end_date, information_action.content, information_action.status " 
       + "FROM information_action INNER JOIN information_to_user ON " 
       + "information_to_user.information_action_id = information_action.id_information_action " 
       + "AND information_action.pos_report_id ='' AND information_to_user.user_id ='" 
       + user_id + "'"; 
관련 문제