我想从数据库中获取不同的值。目前我正在使用ORMlite。我试过以下代码。但是当我查询时,我仍然会从中获得重复的值。谁能指出我哪里出错了?我发布了以下示例代码
smsDao = databaseHelper.getSmsDao();
QueryBuilder<SMSObject, Object> queryBuilder = smsDao.queryBuilder();
queryBuilder.distinct().selectColumns("timestamp");
try {
preparedQuery = queryBuilder.prepare();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
smsObject = smsDao.query(preparedQuery);
} catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
任何帮助都很明显。
答案 0 :(得分:1)
dataList = Utils.getDBHelper(ItemList.this).getItemDao().queryBuilder().where().in("nameid", lis).query();
这是我之前在我的应用中使用的代码。它正在从数据库中检索重复的值。然后我用distinct()方法更新它,一切都开始正常工作。
dataList = Utils.getDBHelper(ItemList.this).getItemDao().queryBuilder().distinct().where().in("nameid", lis).query();
注意:这里'lis'是我的搜索参数添加的可迭代列表。如果没有,可以使用'eq()'而不是'in()'。