Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 选择字段为空的记录_Android_Sqlite_Is Empty - Fatal编程技术网

Android 选择字段为空的记录

Android 选择字段为空的记录,android,sqlite,is-empty,Android,Sqlite,Is Empty,我需要从表中选择一些列,其中某一列(在我的例子中是pos_report_id)为空,而不是null。我在SQLiteDatabaseBrowser(针对用户_id='23')中尝试了这段代码,效果很好: "SELECT information_action.target_type, information_action.message_type," + "information_action.start_date, information_action.end_d

我需要从表中选择一些列,其中某一列(在我的例子中是pos_report_id)为空,而不是null。我在SQLiteDatabaseBrowser(针对用户_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'

你知道怎么解决这个问题吗?为什么对“”不合适?

用户id是数据库中的字符字段吗?似乎是一个整数。如果此权限从23中删除“”。

在查询中,您同时使用了
WHERE
ON
子句。尝试这一项只是一个小小的改变,而不是在何处使用和:

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

问题不在于用户id,而在于pos报告id。我必须检查pos报告id是否为空。