我想知道是否有可能从基于sqlite的android数据库中获取一种特定类型的数据。
让我们说我有一张带有行的表#34;类别"和#34;标题"我想得到一个包含" Title"的String数组。那些匹配给定类别的类别。
例如:
Title Category
A spam
B important
C spam
鉴于"垃圾邮件",我希望得到像
这样的字符串数组S = {A,C}
有办法做到这一点吗?
请注意,我对数据库非常陌生。
提前致谢。
编辑:
我实际上正在尝试查询
mDb.query(DATABASE_TABLE, new String[] {KEY_ROWID, KEY_TITLE,
KEY_BODY, KEY_CATEGORY}, KEY_CATEGORY + "=" + category, null, null, null, KEY_CATEGORY);
但它返回一个Cursor,我需要一个SimpleCursorAdapter,就像这里格式化
一样SimpleCursorAdapter notes =
new SimpleCursorAdapter(this, R.layout.notes_row, notesCursor, from, to);
mList.setAdapter(notes);
来自和来自:
String[] from = new String[] { NotesDbAdapter.KEY_TITLE };
int[] to = new int[] { R.id.text1 };
最终编辑:
最终有效,使用@ELITE
提供的代码Cursor cursor = mDb.query(DATABASE_TABLE, new String[] {KEY_ROWID, KEY_TITLE, KEY_BODY, KEY_CATEGORY}, KEY_CATEGORY + "=?", new String[]{category}, null, null, KEY_CATEGORY);
ArrayList elements = new ArrayList();
while(cursor.moveToNext()) {
elements.add(cursor.getString(cursor.getColumnIndex(KEY_TITLE)));
}
// use elements variable,
// here you'll get ["A", "C"]
SimpleCursorAdapter notes =
new SimpleCursorAdapter(this, R.layout.notes_row, cursor, from, to);
mList.setAdapter(notes);
答案 0 :(得分:1)
答案 1 :(得分:0)
使用query()
类的SQLiteDatabase
,如下所示:
SQLiteDatabase db = this.getReadableDatabase();
Cursor cursor = db.query("<name of the table>", new String[]{}, "Category=?", new String[]{"spam"}, null, null, null);