2011-09-16 13 views
7

के लिए मैं कम और hign मूल्य के बीच एक तिथि के लिए क्वेरी करने के लिए कोशिश कर रहा हूँ:ORMLite क्वेरी तारीख

Car car = new Car(1, "octavia"); 
car.setManufactured(Calendar.getInstance().getTime()); 
Dao<Car, Integer> carDao = getHelper().getCarDao(); 

carDao.create(car); 

QueryBuilder<Car, Integer> carQb = carDao.queryBuilder(); 

Calendar yesteday = Calendar.getInstance(); 
yesteday.add(Calendar.DATE, -1); 

Calendar tommorrow = Calendar.getInstance(); 
yesteday.add(Calendar.DATE, 1); 

carQb.where().between("manufactured", yesteday.getTime(), tommorrow.getTime()); 
PreparedQuery<Car> query = carQb.prepare(); 

List<Car> cars = carDao.query(query); 

Log.d(TAG, cars.get(0).toString()); 

कार वस्तु इस तरह दिखता है:

public class Car { 

    @DatabaseField(id = true) 
    private int id; 
    @DatabaseField 
    String name; 
    @DatabaseField(foreign = true, foreignAutoRefresh = true) 
    User user; 
    @DatabaseField(foreign = true, foreignAutoRefresh = true) 
    private Brand brand; 
    @DatabaseField(columnName="manufactured") 
    private Date manufactured; 
} 

Unfortunaly मैं कोई परिणाम नहीं मिल रहा है। एक समस्या कहां हो सकती है?

उत्तर

8

यहां आपकी समस्या है: आपने & पेस्ट त्रुटि काट दिया है। कल कल के बराबर सेट करें, फिर अनजाने में कल कल बराबर सेट करें। ऐसे दिन नहीं हैं जो कल से अधिक और आज से कम दोनों हों, इसलिए आपको कोई पंक्ति नहीं मिली है।

इस तरह देखने के लिए अपने कोड में परिवर्तित करें:

Calendar tommorrow = Calendar.getInstance(); 
tomorrow.add(Calendar.DATE, 1); // change yesterday to tomorrow 
+0

वाह! आपका बहुत बहुत धन्यवाद। – sealskej

+0

2 मिनट में। डरो मत;) – sealskej

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