2013-10-03 13 views
5

Chcę uzyskać różne wartości z bazy danych. Obecnie używam ORMlite. Próbowałem następujący kod. Ale nadal otrzymuję powtarzające się wartości, gdy pytam. Czy ktokolwiek mógłby wskazać, gdzie popełniłem błąd? Zamieszczam przykładowy kod poniżej:Jak wybrać różne wartości z 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(); 
    } 

Każda pomoc jest dostrzegalna.

+0

Masz ten sam dokładny problem - czy otrzymałeś rozwiązanie? – rOrlig

Odpowiedz

1
dataList = Utils.getDBHelper(ItemList.this).getItemDao().queryBuilder().where().in("nameid", lis).query();  

To jest kod, którego użyłem wcześniej w mojej aplikacji. Wyszukuje zduplikowane wartości z bazy danych. Następnie zaktualizowałem go za pomocą metody distinct() i wszystko zaczęło działać poprawnie.

dataList = Utils.getDBHelper(ItemList.this).getItemDao().queryBuilder().distinct().where().in("nameid", lis).query(); 

Uwaga: Tutaj "lis" jest iterowalną listą, do której dodawane są moje parametry wyszukiwania. Jeśli go nie masz, możesz użyć "eq()" zamiast "in()".

Powiązane problemy