1 回答

TA貢獻1798條經驗 獲得超3個贊
cursor.getColumnIndex(...)
只返回行的列索引。要獲取該列中的值,您有以下幾種選擇:
如果事先知道數據類型,則可以直接調用
cursor
. 例如,如果該列DBHelper.KEY_NAME
包含String
,我們可以直接使用查詢該列中的值cursor.getString(cursor.getColumnIndex(DBHelper.KEY_NAME))
如果不這樣做,您可以嘗試調用
cursor.getType(int columnIndex)
以獲取基礎類型,然后根據返回值在游標上調用適當的方法。
簡而言之,代碼的問題在于您獲取的是列索引( 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);
...
添加回答
舉報