5

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

任何帮助都是可观的。

4

1 回答 1

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

于 2014-11-28T12:24:14.377 回答