当数据库中存在相同的值时,返回多个ID

时间:2017-07-15 20:53:39

标签: java android sql

如果COL_4中存在多个相同值(dataClicked)的行,是否会返回多个ID? COL_1 = “ID”;

        public int getDateId(String dateClicked) {

        int dateID=0;
        String last_query = "SELECT " + COL_1  + " FROM " + TABLE_NAME  + " WHERE " + COL_4 + " = '" + dateClicked + "'";
        Cursor c = database.rawQuery(last_query, null);
        if (c != null && c.moveToFirst())
        {
            dateID = c.getInt(0);
        }
        c.close();
        return dateID;
    }

如果不是,我可以将值存储在数组中吗?我怎么能这样做

1 个答案:

答案 0 :(得分:1)

如果您有多个COL_4dateClicked具有相同的值,则会返回多个COL_1。您可以将它们添加到列表中:

public List<Integer> getDateIds(String dateClicked) {
    List<Integer> ids = new ArrayList<>();

    String last_query = "SELECT " + COL_1  + " FROM " + TABLE_NAME  + " WHERE " + COL_4 + " = '" + dateClicked + "'";
    Cursor c = database.rawQuery(last_query, null);
    c.moveToFirst();
    while (!c.isAfterLast()) {
        ids.add(c.getInt(0));

        c.moveToNext();
    }
    c.close();
    return ids;
}