从数据库sqlite中检索值

时间:2013-12-20 07:14:09

标签: android database sqlite

我有sqlite数据库处理程序,它将在用户登录应用程序时创建一个表。服务器发回有关存储用户的一些信息。当用户进入下一个活动时,我需要从该数据库中检索一个值并将其存储在本地。我不确定如何检索值5并将其存储在活动OnCreate中。任何帮助将不胜感激。

数据库处理程序:

    public HashMap<String, String> retrieveUser(){
    HashMap<String,String> user = new HashMap<String,String>();
    String selectQuery = "SELECT  * FROM " + TABLE_LOGIN;

    SQLiteDatabase db = this.getReadableDatabase();
    Cursor cursor = db.rawQuery(selectQuery, null);
    // Move to first row
    cursor.moveToFirst();
    if(cursor.getCount() > 0){
        user.put("first_name", cursor.getString(1));
        user.put("last_name", cursor.getString(2));
        user.put("email", cursor.getString(3));
        user.put("dob", cursor.getString(4));
        user.put("userid", cursor.getString(5));
        user.put("created_at", cursor.getString(6));
    }
    cursor.close();
    db.close();
    // return user
    return user;
}

编辑:我这样解决了

dbh = new DatabaseHandler(this);
HashMap<String, String> details = dbh.retrieveUser();
    String UserId = details.get("userid");

1 个答案:

答案 0 :(得分:2)

如果您想从表格中的userid列中进行检索,请通过仅查询userid来尝试以下内容。

public HashMap<String, String> retrieveUser(){
    HashMap<String,String> user = new HashMap<String,String>();
    String selectQuery = "SELECT  userid FROM " + TABLE_LOGIN;

    SQLiteDatabase db = this.getReadableDatabase();
    Cursor cursor = db.rawQuery(selectQuery, null);
    // Move to first row
    cursor.moveToFirst();
    while(cursor.getCount() > 0){
        user.put("userid", cursor.getString(0));
       cursor.moveToNext();
       user.add("userVal",cursor.getString(0)); 
      }
    cursor.close();
    db.close();

    return user;
}