2012-05-30 7 views
0

Я прочитал всю документацию об orm lite, также просматривая сеть, но не нашел правильных ответов. Я хочу, чтобы выполнить эту инструкцию:Выполнение пользовательского запроса с использованием построителя запросов ORMLite

SELECT * from Drive where day_number=150; 

У меня есть класс, которые представляют таблицы:

@DatabaseTable(tableName="Drive") 
public class Drive{ 

    @DatabaseField(generatedId=true) 
    private int drive_id; 

    @DatabaseField 
    private String start_time; 

    @DatabaseField 
    private String end_time; 

    @DatabaseField 
    private String price; 

    @DatabaseField 
    private String distance; 

    @DatabaseField 
    private String day_number; 

    @DatabaseField 
    private String week_number; 

    @DatabaseField 
    private String month; 

    getters and setters ... 
} 

Когда я бегу:

List<Drive> today = getHelper().getVoznjaDao().queryBuilder().where(). 
     eq("day_number","150").query(); 

я NullPointerExeption, и она не потому, что там нет запись за 150 в базе данных. Пожалуйста, помогите, я в отчаянии.

+0

Пожалуйста, отредактируйте ваше сообщение и покажите первые 5 строк исключения. – Gray

+0

Хорошо, я прочитаю, что, рассматривая этот вопрос, я получаю NullPointerExeption именно в этой строке. Список today = getHelper(). GetVoznjaDao(). QueryBuilder(). Where(). eq ("day_number", "150"). Query(); , что подразумевает, что сегодня является нулевым, из чего я могу заключить, что запрос не является хорошим. – sekula87

ответ

1

Ваш код отлично выглядит с точки зрения логики-запроса-запроса. Я подозреваю, что что-то связанное с вашей проводкой неверно. В ваших комментариях вы упоминаете, что NPE происходит в строке запроса.

List<Drive> today = getHelper().getVoznjaDao().queryBuilder().where(). 
    eq("day_number","150").query(); 

Скорее всего, это означает, что либо:

  • getHelper() возвращается в null вспомогательный экземпляр
  • getVoznjaDao() возвращается в null DAO
  • или есть ошибки в ORMLite

today, являющийся null, не будет вызывать NPE, поскольку он не разыменован на линии. Разумеется, ошибка в ORMLite не может быть и речи, но я сначала проверил бы с отладчиком, чтобы узнать, возвращаются ли звонкиили getVoznjaDao()null. Я подозреваю, что вы найдете ошибку в этот момент.