在sqlite中根据日期检索条目时出错

时间:2014-01-09 06:16:28

标签: android sqlite

我创建了以下数据库..

public void onCreate(SQLiteDatabase db) {
    // TODO Auto-generated method stub
    db.execSQL("create table ITEMS(ROW_ID integer primary key autoincrement,ITEM_DESCRIPTION text,ITEM_AMOUNT integer," +
            "time DATETIME DEFAULT CURRENT_DATE);");
}

表格中的时间列输入创建条目的日期。 现在我想只检索今天输入的要检索的条目。 为此,我使用以下功能。

public void getToday(){
    SQLiteDatabase db=this.getReadableDatabase();
    SimpleDateFormat f=new SimpleDateFormat("yyyy-MM-dd");
    Date date=new Date();
    String x = f.format(date);
    Log.d("DAte string",x);
    Cursor cx=db.rawQuery("Select * from items where time="+ x ,null);
    Log.d("Count",String.valueOf(cx.getCount()));
   for(cx.moveToFirst();!cx.isAfterLast();cx.moveToNext()){

Log.d(".......",cx.getString(cx.getColumnIndex("ITEM_DESCRIPTION")));

    }
     db.close();
}

但是计数是0.光标没有检索任何条目。 我还检查了数据库中的日期格式。我将日期格式化为相同。 我仍然没有参赛作品。 请告诉我我犯了错误的地方。提前谢谢。

1 个答案:

答案 0 :(得分:1)

Cursor cx=db.rawQuery("Select * from items where time='"+ x+"'" ,null);    

 Log.d("Count",(cx.getCount()));

    if (cursor != null && cursor.moveToFirst()) {

                do {
    Log.d(".......",cx.getString(cx.getColumnIndex("ITEM_DESCRIPTION")));
    } while (cursor.moveToNext());

请使用此代码..我希望您已经将数据输入database.right? 否则光标计数重新生成0。