ANDROID:我可以用WHERE子句作为String进行SELECT吗?

时间:2011-06-13 22:01:04

标签: android sqlite

所以我的数据库和数据库中都有数据。类别的值设置为“早餐

当我使用 whereClause 作为

执行以下查询时

1: final String whereClause = RECIPE_ID +“= 1”;

它返回 RECIPE_ID

的数据

但是当我使用 whereClause 执行

的查询时

2: final String whereClause = RECIPE_CATEGORY +“='”+ category.trim()+“'”;

它没有返回任何内容......所以我猜我的代码工作正常,因为它返回结果 RECIPE_ID,但我不知道为什么它不返回第二个 whereClause

的数据

希望这有道理..

final String whereClause = RECIPE_CATEGORY + "='" + category.trim() + "'";
        // ask the database object to create the cursor.
        cursor = db.query(
                RECIPE_TABLE,
                new String[]{
                            RECIPE_ID, 
                            RECIPE_CATEGORY,
                            RECIPE_THIS_TITLE,
                            RECIPE_THIS_SUBTITLE,
                            RECIPE_THIS_DESCRIPTION,
                            RECIPE_THIS_IMAGE,          
                            RECIPE_THIS_CALORIES,
                            RECIPE_THIS_FAT,
                            RECIPE_THIS_SATURATED,
                            RECIPE_THIS_TRANS,
                            RECIPE_THIS_CARBS,
                            RECIPE_THIS_SODIUM,
                            RECIPE_THIS_SUGARS,
                            RECIPE_THIS_SERVINGS,
                            RECIPE_THIS_COSTPERSERVING,
                            RECIPE_THIS_INSTRUCTIONS,
                            RECIPE_THAT_TITLE,
                            RECIPE_THAT_CALORIES,
                            RECIPE_THAT_FAT,
                            RECIPE_THAT_SATURATED,
                            RECIPE_THAT_TRANS,
                            RECIPE_THAT_CARBS,
                            RECIPE_THAT_SODIUM,
                            RECIPE_THAT_SUGARS,
                            RECIPE_THAT_PRICE
                        },
                        whereClause, null, null, null, null
        );

以上代码不会返回任何结果。这有什么不对吗?

1 个答案:

答案 0 :(得分:0)

你真的需要在这里形成一个问题。发布代码对你没有好处。如果您的问题与标题所暗示的一样,那么您可以将搜索子句作为字符串。只是遗漏在哪里。例如dataId = 5其中隐含“where”。

编辑:为了解决我错过的底部问题,​​可能会出现多种错误。可能是您在数据库中没有任何数据。或者执行where子句,并且您的数据都不符合条件。检查您的数据库。我们无能为力。