【发布时间】:2015-12-19 16:58:00
【问题描述】:
我想检索属于 12 月份的数据。
public Cursor readData()
{
Cursor c=database.rawQuery(" SELECT _id, Date,Weather,Status, TimeIn_Info, TimeOut_Info FROM " + MyDatabaseHelper.TABLE_INFO +
" WHERE strftime('%m',Date) = ? ",
new String[]{12+""}, null);
if (c != null) {
c.moveToFirst();
}
return c;
}
但是,不会显示任何数据。我确保它有一个 12 个月的数据。
MyDatabaseHelper for Table_Info
public static final String TABLE_INFO="Information";
public static final String Date="Date";
public static final String Status="Status";
public static final String TimeIn_Info="TimeIn_Info";
public static final String TimeOut_Info="TimeOut_Info";
public static final String Weather="Weather";
public static final String Name="Name";
public void onCreate(SQLiteDatabase db) {
db.execSQL("create table " + TABLE_INFO + " ( " + ID + " INTEGER PRIMARY KEY ,Name TEXT,Weather TEXT, Date DATETIME, Status Text, TimeIn_Info DATE TIME, TimeOut_Info DATETIME)");
}
我使用date-time picker 选择日期,并且日期以19-12-2015 的格式保存日期。
我的数据库没有问题,因为数据显示出来了 当我将条件更改为名称时。
谁能帮我解决问题?
【问题讨论】:
-
如果可能的话你能提供db文件吗
-
我最好的猜测是因为列名 date 因为它也是一个关键字,您可能想要更改它并执行
-
@ZaidHoona 你想看 db 文件的屏幕截图吗?
-
其实想要的ddl就是这样,即创建语句和你正在填写的一些例子的数据就是这样
-
@ZaidHoona 请检查
标签: android sqlite listview monthcalendar