2014-02-13 118 views
0

我有一个存储用户的ID(col_id),名称(col_name)和用户名(username)的表。下面是我的代码我用来检索数据SQL select查询返回列的名称

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和用户名,而不是实际添加的数据。

这是我得到的数据,并记录它

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")); 

回答

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。有很多方法可用于从光标获取数据。

+0

工作正常。谢谢 –

+0

@ThahzanMohomed哟欢迎。 –