从列sqlite android游标获取唯一行

时间:2012-12-03 02:32:58

标签: android cursor distinct clause

您好我无法从文档中尝试使用此行:

public Cursor getcepaUnico(){
return database.query(true, "vino", new String[] {"_id", "cepa"}, null, null, null, null, "cepa", null);}

但即使更改了DISTINCT布尔值,也会显示重复的行。 还试过这个:

public Cursor getCepaUnico() {
return database.rawQuery("select DISTINCT cepa from vinos", null);}

调用方法后应用程序崩溃。

2 个答案:

答案 0 :(得分:2)

不确定这是否能解决您的问题,但有时我只是从模拟器中提取数据库(在Eclipse的DDMS视图中)并在我的原始查询不起作用时使用sqlite编辑器直接运行查询;如果查询在编辑器中显示了您想要的内容,则在rawQuery方法中使用该查询。

Firefox有一个很好的sqlite编辑器。

答案 1 :(得分:2)

将distinct设置为true应该返回不同的结果。循环游标的代码是否可能不正确?您可能还想将其发布以供审核。

关于你的rawQuery,你正在使用一个不同的表名,这可能是造成崩溃的原因。它应该是“从vino中选择DISTINCT cepa”(不是vinos)来匹配你的查询语句。