1 回答

TA貢獻(xiàn)1798條經(jīng)驗(yàn) 獲得超3個(gè)贊
cursor.getColumnIndex(...)
只返回行的列索引。要獲取該列中的值,您有以下幾種選擇:
如果事先知道數(shù)據(jù)類型,則可以直接調(diào)用
cursor
. 例如,如果該列DBHelper.KEY_NAME
包含String
,我們可以直接使用查詢該列中的值cursor.getString(cursor.getColumnIndex(DBHelper.KEY_NAME))
如果不這樣做,您可以嘗試調(diào)用
cursor.getType(int columnIndex)
以獲取基礎(chǔ)類型,然后根據(jù)返回值在游標(biāo)上調(diào)用適當(dāng)?shù)姆椒ā?/p>
簡而言之,代碼的問題在于您獲取的是列索引( getColumnIndex
) 而不是列值(getFloat
、getInt
等getString
):
...
int idIndex = cursor.getColumnIndex(DBHelper.KEY_ID);
int nameIndex = cursor.getColumnIndex(DBHelper.KEY_NAME);
int hourIndex = cursor.getColumnIndex(DBHelper.KEY_HOUR);
int dateIndex = cursor.getColumnIndex(DBHelper.KEY_DATE);
String name = cursor.getString(nameIndex);
String hour = cursor.getString(hourIndex);
String date = cursor.getString(dateIndex);
...
添加回答
舉報(bào)