2013-12-20 13 views
0

У меня есть обработчик базы данных sqlite, который создаст таблицу при входе пользователя в приложение. Сервер отправляет обратно некоторую информацию о пользователе, который является хранилищем. Когда пользователь переходит к следующему действию, мне нужно получить значение из этой базы данных и просто сохранить его локально. Я не уверен, как получить значение 5 и сохранить его в активности OnCreate. Любая помощь будет принята с благодарностью.Извлечь значение из базы данных sqlite

Database Handler:

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; 
} 

Edit: я решил это так

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

Сначала прочитайте простую концепцию SQLite базы данных и здесь ссылка ссылка http://chintankhetiya.wordpress.com/2013/06/01/sqlite-database-example/ –

+1

Что вы имеете в виду 'как получить значение 5 и сохранить его? Вы хотите получить только 5 записей? – GrIsHu

+0

Я имел в виду просто получить user.put ("userid", cursor.getString (5)); – Carbongixxer

ответ

1

Если вы хотите извлечь на userid колонку из таблицы, то попробуйте, как показано ниже на quering только для 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; 
} 
Смежные вопросы