2013-10-03 4 views
5

मैं डेटाबेस से अलग-अलग मान प्राप्त करना चाहता हूं। वर्तमान में मैं 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(); 
    } 

से नीचे नमूना कोड पोस्ट कर रहा हूं कोई भी मदद सराहनीय है।

+0

एक ही सटीक समस्या होने के बाद - क्या आपको कोई समाधान मिला? – rOrlig

उत्तर

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

यह वह कोड है जिसे मैंने पहले अपने ऐप में उपयोग किया था। यह डेटाबेस से डुप्लिकेट मान पुनर्प्राप्त कर रहा था। फिर मैंने इसे अलग() विधि के साथ अद्यतन किया और सब ठीक काम करने लगे।

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

नोट: यहां 'lis' एक पुनरावर्तनीय सूची है जिसमें मेरे खोज पैरामीटर जोड़े गए हैं। यदि आपके पास कोई नहीं है, तो आप 'in()' के बजाय 'eq()' का उपयोग कर सकते हैं।

संबंधित मुद्दे