我的主应用程序中有一个查询,它显示了我数据库的所有寄存器。
我的应用程序中有一个按钮可以进入另一个活动。在那里,我可以过滤我的查询(例如,我有一个书桌,我只想要一个作者和特定价格的书籍)
因此,使用微调器,我选择我的选项并使用意图并将额外的i传递给我的主要活动,这样我就可以显示已过滤的查询。
以下是示例
String selGrado = this.getIntent().getExtras().getString("grado");
String query = "Select * FROM Incidentes WHERE 1=1";
if () query+= " AND codGr='"+selGrado+"'";
Cursor d = db2.rawQuery(query,null);
所以,我希望我的查询使用参数selGrado执行,我填写了我的“过滤器”活动。我应该放哪个条件?因为当应用程序启动时,我想显示所有寄存器,所以避免过滤器没有问题,我想只执行Select * from Incidentes ..如果我通过FILTER活动查询,我希望查询知道我选择了哪个选项。有没有办法问我收到的getExtra是否为null或类似的东西?感谢
答案 0 :(得分:0)
是的,您可以使用intent方法hasExtra:
来检查额外内容this.getIntent().hasExtra("grado");
但你也可以查看selGrado是否为空
if(selGrado!=null)
更好的方法是使用常规查询而不是rawquery
String selection = null;
String[] selectionArgs = null;
if(getIntent().hasExtra("grado"))
{
selection = "codGr=?";
selectionArgs = new String[]{getIntent().getStringExtra("grado")};
}
Cursor c = db2.query("Incidentes",null,selection, selectionargs, null);