java - Sqlite 数据库助手。制定一个返回方法

标签 java android android-studio android-sqlite

如何在我的databaseHelper(从SQLiteOpenHelper扩展)类中创建一个方法,该方法返回用户某些数据的字符串。

例如

public String getUserPassword (String username){

    ..
    return password;
}

我只是不知道如何制作一个游标来搜索用户名(这是主键)并找到同一用户然后返回他的密码。

最佳答案

您可以使用 SQLiteDatabase 类的 rawQuery() 方法返回 Cursor
对于此方法,您必须传递 2 个参数:

  • sql 语句是 SELECT 语句
  • 包含用户名值的数组,该值将在 WHERE 子句中用于返回密码 (如果存在)。
<小时/>

如果在表中找不到用户名,此方法将返回密码或null:

public String getUserPassword (String username){
    String password = null;
    SQLiteDatabase db = this.getWritableDatabase();
    String sql = "SELECT password FROM tablename WHERE username = ?"; 
    Cursor c = db.rawQuery(sql, new String[] {username});
    if (c.moveToNext()) password = c.getString(0);
    c.close();
    db.close();
    return password;
}

在这一行中:

String sql = "SELECT password FROM tablename WHERE username = ?"; 

将表和列的名称更改为数据库中的名称。

关于java - Sqlite 数据库助手。制定一个返回方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60839495/

相关文章:

java - firefox缓存散列键生成算法bug

android - 通过 Android Studio 集成 Twitter4j

android - Android Studio中编译OpenGL着色器的错误信息在哪里?

android - UnsupportedOperationException SDK中不再包含 "android"命令

java - 未找到虚拟化引擎。插件加载中止

java - Spring Boot 与基于 session 的数据源

java - 如何手动创建具有依赖项的 Java 应用程序

java - 为什么我的 RecyclerView 不显示我的适配器项目?

android - 在特定时间关闭 Android 设备

java - Android 的最高和最低价格价格栏