1

我正在显示来自 arraylist 的多选列表视图(最多 130 个值)。用户必须在列表中选择 1 到 5 个项目,我在单击按钮后将它们(所选项目)插入数据库中。它工作正常。

表结构:

private static final String CREATE_SELECTED_CAND_TABLE = " CREATE TABLE if not exists "
        + TABLE_SELECTED_CAND
        + "("
        + KEY_ID
        + " integer PRIMARY KEY autoincrement,"
        + KEY_NAME1
        + " TEXT,"
        + KEY_NAME2
        + " TEXT,"
        + KEY_NAME3
        + " TEXT,"
        + KEY_NAME4
        + " TEXT," + KEY_NAME5 + " TEXT" + ")";

这就是我插入表格的方式:

public long insertCandidates(DataSelectedCandidates dataSelCand) {

    ContentValues initialValues = new ContentValues();
    initialValues.put(KEY_NAME1, dataSelCand.getmCandidateName1());
    initialValues.put(KEY_NAME2, dataSelCand.getmCandidateName2());
    initialValues.put(KEY_NAME3, dataSelCand.getmCandidateName3());
    initialValues.put(KEY_NAME4, dataSelCand.getmCandidateName4());
    initialValues.put(KEY_NAME5, dataSelCand.getmCandidateName5());
    return mDb.insert(TABLE_SELECTED_CAND, null, initialValues);

}

我多次插入记录。例如:“james”可以在第 1、第 5 和第 8 行,或者数据库中不存在 james。

如何获取名称字段及其计数(数据库中的出现次数)?我需要在另一个列表中显示它。!

我正在使用光标获取所有值:

Selected_candidDB.open();
Cursor cursor = Selected_candidDB.fetchAllCandidates();

我可以用上面的光标实现这个..吗?

4

1 回答 1

0

使用原始 sql 查询来实现,例如:

select count(*),name from candidates where name ='james'

它将返回一个结果:| 出现次数 | 姓名|

于 2012-11-14T16:17:58.823 回答