我有一个表,用于存储用户的ID(col_id),Name(col_name)和Username(用户名)。下面是我用来检索数据的代码
public HashMap<String, String> getUserDetails(){
HashMap<String, String> user = new HashMap<String, String>();
String selectQuery = "SELECT * FROM " + TABLE_COL_DATA;
SQLiteDatabase db = this.getReadableDatabase();
Cursor cursor = db.rawQuery(selectQuery, null);
cursor.moveToFirst();
if(cursor.getCount() > 0){
user.put("col_id", KEY_ID);
user.put("name", KEY_NAME);
user.put("username", KEY_USERNAME);
}
return user;
}
但是当我记录检索数据时,它会显示col_id,col_name和username而不是实际添加的数据。
这是我获取数据并记录的方式
dbHandler.setCollectorTable(colID, colName, username);
HashMap<String, String> tmpMap = dbHandler.getUserDetails();
Log.d("Retrieved Col ID", tmpMap.get(KEY_COL_ID));
Log.d("Retrieved Col Name", tmpMap.get("name"));
Log.d("Retrieved Col Username", tmpMap.get("username"));
答案 0 :(得分:3)
您希望首先从光标获取数据。然后尝试将数据放入HashMap
,如下所示:
if(cursor.getCount() > 0){
user.put("col_id", cursor.getInt(0));
user.put("name",cursor.getstring(1));
user.put("username", cursor.getstring(2));
}
转到Cursor。有许多方法可用于从光标获取数据。