2012-10-08 146 views
0

我需要從表中選擇某些列,其中某列(pos_report_id,在我的情況下)是空的,而不是空。我想在此SQLiteDatabaseBrowser代碼(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 + "'"; 

,但在代碼中,當我運行應用程序,我得到這個錯誤:

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' 

任何想法如何解決這個問題?爲什麼它不符合''?

回答

0

user_id是數據庫中的char字段嗎?似乎是一個整數。如果此權利將「'從23中刪除。

+0

問題不在user_id,它在pos_report_id。我必須檢查pos_report_id是否爲空。 – Gabrielle

0

在您的查詢中,您同時使用了WHEREON子句。嘗試這一個只是一個小的改變,而不是在哪裏使用AND:

"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 + "'";