我有一个4列的SQLite数据库。我使用“ System.currentTimeMillis()”方法在COLUMN_DATE中插入了以毫秒为单位的日期/时间值,并且我想查询SQLite数据库以获取2个特定日期之间的所有行,也以毫秒表示。此查询也必须包含具有这2个特定日期的行。
这是我的SQLite数据库:
public static final String CREATE_SQL = "create table " + TABLE_NAME + "(" + COLUMN_ID + " integer primary key autoincrement, " +
COLUMN_DATE + " integer not null, " + COLUMN_STATUS + " text not null, " + COLUMN_TOTAL + " text not null);";
这是带有插入值的数据库:
在此处输入图片说明
我想通过1578530800000(ID = 2)作为开始日期和1578698202000(ID = 5)作为结束日期查询SQLite数据库,并获取这些特定日期之间的所有行,包括那些日期本身。意味着我想要将表标记为红色矩形。
我试图查询数据库,但没有得到我所期望的。这是我的查询示例:
String[] projection = {Wdatabase.COLUMN_ID, Wdatabase.COLUMN_DATE, Wdatabase.COLUMN_STATUS, Wdatabase.COLUMN_TOTAL};
String selection = Wdatabase.COLUMN_DATE + " >= " + startDate + " AND " + Wdatabase.COLUMN_DATE +" <= " + endDate;
Cursor r = Objects.requireNonNull(getActivity()).getContentResolver().query(DbProvider.CONTENT_URI, projection, selection, null, null, null);
谁能告诉我这是怎么回事?
这是我的日志日志:
while (r.moveToNext()) {
Log.i("Arguments", "CursorId: " + r.getInt(0));
Log.i("Arguments", "CursorDate: " + r.getLong(1));
Log.i("Arguments", "CursorStatus: " + r.getString(2));
Log.i("Arguments", "CursorTotal: " + r.getString(3));
}
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。