我想要,我的游標正在移動到具有不同內容的下一個單元格,并且我希望游標跳過所有具有已經存在的值的單元格。
例如我們有列:Beer, Car, Car, House, Beer, Tree (in KEY_AREA)
游標應選擇:啤酒、汽車、房屋、樹并跳過 1 汽車和 1 啤酒。
Cursor cursor = database.query(DBHelper.TABLE_AREA,
columns,
null,
null,
null,
null,
null,
null);
if (cursor.moveToFirst()) {
do {
Area_Names.add(cursor.getString(cursor.getColumnIndexOrThrow(DBHelper.KEY_AREA)));
}
while (cursor.moveToNext());
} else
Log.d("mLog", "0 rows");
cursor.close();
uj5u.com熱心網友回復:
由于您只對列感興趣,因此DBHelper.KEY_AREA您可以使用query()其第一個引數為布林值的多載,指示您是否想要不同的結果。
在您的情況下,您應該通過true:
String[] columns = new String[] {DBHelper.KEY_AREA};
Cursor cursor = database.query(
true,
DBHelper.TABLE_AREA,
columns,
null,
null,
null,
null,
null,
null
);
此外,您不需要cursor.getColumnIndexOrThrow(DBHelper.KEY_AREA)獲取列的索引。
您的查詢僅回傳 1 列,您可以安全地0用作其索引:
Area_Names.add(cursor.getString(0));
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/498259.html
標籤:爪哇 安卓 sqlite 安卓-sqlite 安卓光标
下一篇:如何發出發送命令
