SQL select query возвращает имена столбцов

70
8

У меня есть таблица, в которой хранятся идентификатор (col_id), имя (col_name) и имя пользователя (имя пользователя) пользователя. Ниже приведены мои коды, которые я использовал для извлечения данных.

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

спросил(а) 2020-04-04T01:35:11+03:00 5 месяцев, 4 недели назад
1
Решение
80

Сначала вы хотите получить данные из курсора. а затем попытайтесь поместить данные в HashMap как 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.

ответил(а) 2020-04-04T01:51:32.594877+03:00 5 месяцев, 4 недели назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема