2011-03-25 10 views
0

HIは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を取得したいということです。 ... buffer [5]と比較するそれは....?

String returnDate = c.getString(c.getColumnIndex(KEY_RETURNDATE)); 

答えて

1

あなたのループの後でもうそれを必要としない場合:c.close();それ以外の場合は、メモリリークがあります。

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が言った、とあなたのカーソルをクローズすることを忘れないでくださいよう:あなたの返却日が文字列である、あなたはDISPLAYTITLE(カーソルC)に次のように使用することができると仮定すると、

関連する問題