我根据my earlier question中的建议在我的SQL查询中的“WHERE”之后添加了一个空格 但是,现在我的应用程序获得了“强制关闭”。
Cursor c = db.rawQuery("SELECT * FROM sharelist WHERE " + "category" + "=" + category,null);
答案 0 :(得分:1)
你应该创建这样的查询:
Cursor c = db.rawQuery("SELECT * FROM sharelist WHERE category=?",
new String[] {category});
这将为您正确引用并避免SQL注入攻击。
此外,每当您看到强制关闭时,都会出现与其关联的未处理异常。您可以在LogCat中看到它(这在Eclipse的Debug透视图中可用)。 Exception的类型和消息是调试错误的宝贵信息。
答案 1 :(得分:0)
您应该按照kgiannakakis的建议进行查询。
对于您的问题,您必须使用单引号括起category
值,例如:
Cursor c = db.rawQuery( "SELECT * FROM sharelist WHERE " + "category" + "='" + category + "'",null);