如何从ORMlite中选择不同的值?

时间:2013-10-03 11:26:17

标签: android ormlite

我想从数据库中获取不同的值。目前我正在使用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();
    }

任何帮助都很明显。

1 个答案:

答案 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()'。