2011-03-25 34 views
0

喜所有我有这个Android sqlite的代码读取所有从表上的标题,这代码是在DBHelper.java的Android源码项目

//---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(光标C):

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();否则你会有内存泄漏。