这是我的表:
private static final String DATABASE_CREATE =
"create table entry (_id integer primary key autoincrement, "
+ "date text not null, " +
"velocity integer not null, " +
"type text not null, " +
"xCoord real not null, " +
"yCoord real not null, " +
"color integer not null);";
创建条目时,我的listView由日期填充。所以我的listView看起来像这样:
December 25, 2011
December 25, 2011
December 25, 2011
December 26, 2011
December 26, 2011
December 27, 2011
基本上,每次在数据库中保存一个条目时,它都会显示创建条目的日期。我设法选择了唯一的日期,因此相同的日期只显示一次,通过这样做:
SELECT * FROM entry GROUP BY date
现在我的listView看起来像这样:
December 25, 2011
December 26, 2011
December 27, 2011
我的问题是,当我点击listView中的一行时,如何获取与我点击的日期相同的所有行。例如,如果我点击“2011年12月25日”,那么我希望查询返回那些与我点击的日期相同的3行的所有信息。
答案 0 :(得分:1)
SELECT * FROM entry WHERE date='December 25, 2011'
答案 1 :(得分:0)
你的数据库结构可能与db理论有点相似。你可能最好有2个表,以避免重复数据。这样,您可以在列表中显示第一个表,并且在此表中,所有数据(日期)都是不同的。然后,当用户单击时,您从第二个表中获取具有相同数据键的任何记录,然后您可以在第二个表中显示那些获取的行中的所有其他内容