2012-12-29 35 views
-3
tv=(TextView)findViewById(R.id.textView1); 
    SQLiteDatabase sqLiteDatabase = SQLiteDatabase.openOrCreateDatabase("/sdcard/assets.db", null); 
    Cursor c=sqLiteDatabase.rawQuery("select datetime('now')", null);  
    if(c.moveToFirst()){ 
      tv.setText(c.getString(0)); 
    } 
    tv.setText("1234"); 
    c.close(); 
    sqLiteDatabase.close(); 

我已經編寫了此代碼來操作SQLite數據庫以獲取當前日期並在textView中顯示日期。當我運行代碼時,它顯示沒有錯誤,但最終結果顯示sql狀態select datetime('now')沒有返回當前日期。 textView顯示「1234」,但不是日期。如何從android應用上使用的sqlite獲取日期

請告訴我代碼有什麼問題,或者這種方法是否是錯誤的方法。 p.s我知道如何通過使用java日曆來獲取日期,只是詢問是否可以通過查詢SQLite數據庫直接獲取日期。

感謝您的幫助。

回答

0

更改您的代碼爲:

if(c.getCount() >0) 

    c.moveToFirst(); 

    tv.setText(c.getString(0)); 

} 
else{ 
    tv.setText("1234"); 
    } 
    c.close(); 
    sqLiteDatabase.close(); 

把最後tv.setText內別的。

+0

謝謝你幫,謝謝 – Xeth

+0

@ user1936451:我們總是從每一個錯誤 –

0

這是個玩笑嗎?在textview中設置日期後,您將在textview 1234中重寫。未看到日期是正常的。

+0

我的天啊學到一些東西! 我很抱歉提出愚蠢的問題。 它需要我半夜...謝謝 – Xeth

0

如果你沒有其他表情,這是你的問題。

試試這個:

tv=(TextView)findViewById(R.id.textView1); 
    SQLiteDatabase db = this.getWritableDatabase(); 
    Cursor cursor = null; 
    try{ 
     cursor = db.rawQuery(selectQuery, null); 

     // looping through all rows and adding to list or get object 
     if (cursor.moveToFirst()) { 
      do { 
       tv.setText(c.getString(0)); 
      } while (cursor.moveToNext()); 
     } 
     else{ 
       tv.setText("1234"); 
     } 
    } 
    catch (Exception e) { 

    } 
    finally{ 
     if(cursor != null) 
      cursor.close(); 
     if(!db.equals(null) || db != null) 
      db.close(); 
    } 
0

對於日處理嘗試以下

在SQLite表申請日期將是文本和日期數據應被存儲爲「2012-12-31 00:12 :00" 格式化比較劑量不會給你帶來麻煩,如果我們考慮到字段date_from和DATE_TO,我們在TO_DATE存儲當前日期,那麼我們應該得到的當前日期爲波紋管和

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 
    String to_date = sdf.format(new Date()); 

和SQL查詢應該是

crs = db.rawQuery(
    "SELECT _id, date_from, date_to, done_or_not, list_name " + 
    "FROM list_tbl " + 
    "WHERE " + 
    "date_from <= Datetime('"+to_date+"') AND date_to >= Datetime('"+to_date+"')", null); 
相關問題