java - 调用hashmap映射

标签 java sql sqlite

我有一个 hashmap 方法;

    public HashMap<String, String> getUserDetails(){
        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("name", cursor.getString(1));
            user.put("email", cursor.getString(2));
            user.put("uid", cursor.getString(3));
            user.put("created_at", cursor.getString(4));
        }
        cursor.close();
        db.close();
        // return user
        return user;
    }

我有一个字符串电子邮件,我想获取 id=10 的方法的电子邮件。 我怎样才能将电子邮件设置为等于某个字符串? String email = getUserDetails(emailWhere id=10) 我知道我偏离了,但你明白了。

最佳答案

public HashMap<String, String> getUserDetails(int id){
  HashMap<String,String> user = new HashMap<String,String>();
  String selectQuery = "SELECT  * FROM " + TABLE_LOGIN + " WHERE id=" + id + ";";
  SQLiteDatabase db = this.getReadableDatabase();
  Cursor cursor = db.rawQuery(selectQuery, null);
  // Move to first row
  cursor.moveToFirst();
  if(cursor.getCount() > 0){
      user.put("name", cursor.getString(1));
      user.put("email", cursor.getString(2));
      user.put("uid", cursor.getString(3));
      user.put("created_at", cursor.getString(4));
  }
  cursor.close();
  db.close();
  // return user
  return user;
}

使用它:

String email = getUserDetails(10).get("email");

关于java - 调用hashmap映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21644078/

相关文章:

java - android,如何获取目录列表?

java - 如何为电子商务应用程序构建面包屑?

sqlite - 如何防止 SQLite 将字符串视为数字?

mysql - 在 SQL 中合并具有空值的列

java - 尝试更新 Access 数据库时出现 NonWritableChannelException

sqlite - SQLite3:附加:memory:已经创建的数据库?

python - "Incorrect number of bindings supplied"cPython 3.5 SQLite3 VS15

java - 用于 html 到 mobi/epub 转换的 API/库

java - jsp中使用select进行数据填充查询

java - 执行的此操作有什么问题?