2011-03-25 8 views
0

привет всем у меня есть этот андроид код SQLite, чтобы прочитать все названия из таблицы и этот код в DBHelper.javaандроид SQLite элементы

//---retrieves all the titles--- 
    public Cursor getAllTitles() 
    { 
     return db.query(DATABASE_TABLE, new String[] { 
       KEY_ROWID, 
       KEY_BOOK, 
       KEY_AUTHOR, 
       KEY_EDITION,  
       KEY_YEAR, 
       KEY_RETURNDATE}, 
       null, 
       null, 
       null, 
       null, 
       null); 

и это код в моем главном приложении .. ...

//---get all titles--- 
     db.open(); 
     Cursor c = db.getAllTitles(); 
     if (c.moveToFirst()) 
     { 
      do {   
       DisplayTitle(c); 
      } while (c.moveToNext()); 
     } 

мой вопрос заключается в том, что я хочу, чтобы получить, например, returendate так я могу сравнить его с текущим временем и основаны на том, что я буду делать действие

так я могу прочитать его. ... буфера [5] и сравнивают это он .... ???

ответ

1

Если предположить, что дата возвращения является строкой, вы можете использовать следующие в вашей DisplayTitle (курсор с):

String returnDate = c.getString(c.getColumnIndex(KEY_RETURNDATE)); 
0
public void doWork() 
    { 
     db.open(); 
     Cursor c = db.getAllTitles(); 
     if(c==null) 
      return; 


     for(c.moveToFirst();!c.isAfterLast();c.moveToNext()) 
     { 

      String key= c.getString(c.getColumnIndex(c.getColumnName(5))); 
      //and now you can put the condition to compare current time with key 

     } 

    } 
0

Используйте c.getString(c.getColumnIndex(KEY_RETURNDATE));, как rajath сказал, и не забудьте закрыть курсор после вашего цикла, если он вам больше не понадобится: c.close(); иначе у вас будет утечка памяти.