我想制作一份已注明日期的备忘录,我将活动日期与日历分开放置。如何根据我提供的日期显示日历中的所有事件?
public List<Foto> getAllFotoList() {
List<Foto> fotoList = new ArrayList<Foto>();
String query_tb_foto = "SELECT * FROM " + TABLE_FOTO;
// SQLiteDatabase db = this.getWritableDatabase();
Cursor cursor = db.rawQuery(query_tb_foto, null);
if (cursor.moveToFirst()) {
do {
// Siswa siswa = new Siswa(cursor.getString(0),
// cursor.getString(1));
Foto foto = new Foto(cursor.getString(cursor
.getColumnIndexOrThrow("COL_JUDULFT")),
cursor.getString(cursor
.getColumnIndexOrThrow("COL_IMG")),
cursor.getString(cursor
.getColumnIndexOrThrow("COL_DESFT")),
cursor.getString(cursor
.getColumnIndexOrThrow("COL_STARTDATEFT")),
cursor.getString(cursor
.getColumnIndexOrThrow("COL_STARTTIMEFT")),
cursor.getString(cursor
.getColumnIndexOrThrow("COL_ENDDATEFT")),
cursor.getString(cursor
.getColumnIndexOrThrow("COL_ULANGFT")),
cursor.getString(cursor
.getColumnIndexOrThrow("COL_ALARMFT")));
fotoList.add(foto);
} while (cursor.moveToNext());
return fotoList;
}
return null;
}
这是真的吗?谢谢你的回应。
答案 0 :(得分:0)
您需要使用SELECT * FROM some_table WHERE date('1990-01-01');
之类的内容(只需插入您的自定义日期)。这应该返回表中具有相同日期值的所有结果。请参阅this post以获取进一步说明,并SQLite documentation查看您可以使用日期做些什么。
两个回答你的第二个问题,使用ListView
应该没问题。我个人使用ArrayList
填充ListView
个SQLite
个结果,因为查询会返回任意数量的结果。 ArrayList
可以轻松存储和访问这些结果。
答案 1 :(得分:0)
String Q= "SELECT * FROM "+TABLE_FOTO +" ORDER BY GMTTIMESTAMP DESC;";
会将最新数据的所有行放在最前面。
或者您可以通过主键引用它?
我总是被告知要确保你记得在括号旁放一个分号,或者让你自己接受SQL注射。
并且你总是想检查空游标,所以你也应该
if(cursor!=null&&cursor.moveToFirst()){}