我在数据库中有一个表格,如下所示:
db.execSQL(" CREATE TABLE IF NOT EXISTS "
+ DATABASE_TABLE + " ( " + KEY_ID + " INTEGER PRIMARY KEY AUTOINCREMENT," + KEY_DATE + " TEXT, " + KEY_CATEGORY + " TEXT, "
+ KEY_SUB_CATEGORY + " TEXT, " + KEY_AMOUNT + " REAL, "
+ KEY_NOTE + " TEXT " + " );");
我想获取KEY_CATEGORY =(“收入”或“费用”)的trans_amount值 和KEY_DATE =“2013年3月”。
我如何查询才能获得它?我目前正在使用
db.ourDatabase.query(DATABASE_TABLE,
new String[] { KEY_AMOUNT } , " ( "
+ KEY_CATEGORY + " = ? OR "
+ KEY_CATEGORY + " = ? ) AND " + KEY_DATE + " = ? " ,
new String[] { " VariableExpenses " , " FixedExpenses ", " March/08/2013 " },
null, null, null, null);
但我没有得到KEY_AMOUNT个值。我在查询中遗漏了什么吗?
答案 0 :(得分:0)
最好将日期存储为INTEGER,自纪元(由calendar.getTimeInMillis()
或date.getTime()
返回)后的毫秒数或作为单独的月/年列存储,如果您只关心月份和年份而不是文本由于日期的格式化,您似乎没有收到任何行:您的查询显示“2013年3月/ 2013”,而您说的是“2013年3月”。