Android SQLite等于查询

时间:2015-02-27 11:02:22

标签: android android-listview android-sqlite

好的我正在尝试使用ListView和SQLite数据库,基本上我有一个由

组成的表

标题|一天|描述

买牛奶|星期二|在商店购买牛奶

上面显示了该表的内容。所以我想查询这个数据,它只会检索所有周二提醒并在ListView上显示它,这在其余时间也是一样的。这可能吗?如果是这样,我该如何处理?

我已经创建了表但不知道如何正确查询这里如果实时日期等于星期二从SQLite数据库获取所有星期二数据,我将如何传递到处理所有数据库查询的DBHelper

    public void getTodayData()
    {
          String days[]={"Sunday","Monday"....}; write all 7 days
          String day=days[(Calendar.getInstance().get(Calendar.DAY_OF_WEEK))-1];

Cursor c = db.query(DBHelper.TABLE_NAME, new String[] {DBHelper.Title_NAME, DBHelper.Description}, new String[]{ "Day" }, new String[]{ getDay(Calendar.getInstance().get(Calendar.DAY_OF_WEEK)) }, null, null, null);

return c;
    }

上面的代码是我试图尝试这个查询,我需要调用Calendar对象或什么来获得一天吗? 总体问题是如何查询数据,如果REAL TIME DAY等于savedData Day,则检索所有等于REAL TIME DAY的数据

2 个答案:

答案 0 :(得分:0)

首先,在您的类中添加一个方法(它可以在您的DBHelper中),以便在将此数字作为参数传递时获取当天的名称:

public String getDay(int day)
{
    if(day==1) return "Sunday";
    else if(day==2) return "Monday";
    ...
}

然后,您应该按如下方式进行查询:

Cursor c = db.query(DBHelper.TABLE_NAME, new String[] {DBHelper.Title_NAME, DBHelper.Description}, new String[]{ "Day" }, new String[]{ getDay(Calendar.getInstance().get(Calendar.DAY_OF_WEEK)) }, null, null, null);

答案 1 :(得分:0)

按如下方式取一个String数组

String days[]={"Sunday","Monday"....}; write all 7 days

String day=days[(Calendar.getInstance().get(Calendar.DAY_OF_WEEK))-1];

并在查询中

 Cursor c = db.query(DBHelper.TABLE_NAME, new String[] {DBHelper.Title_NAME, DBHelper.Description}, new String[]{ "Day" }, new String[]{day}, null, null, null);

希望这会对你有所帮助。