获取 SQLite 数据库中用户名的 ID Android

getting id of a username in SQLite database Android

在我的 android 应用程序中,如何将此代码编辑为 return 用户名的 ID?(我使用的是 SQLite 数据库)

    public int GetId(String username){
        SQLiteDatabase sqLiteDatabase = this.getReadableDatabase();
        Cursor cursor = sqLiteDatabase.rawQuery("SELECT id FROM user WHERE username=?", new String[]{username});
        return id;

用这个获得光标后:

Cursor cursor = sqLiteDatabase.rawQuery("SELECT id FROM user WHERE username=?", new String[]{username});

您必须将游标的索引移动到它的第一行(如果用户存在于 table 中)并读取 id:

public int GetId(String username) {
    SQLiteDatabase sqLiteDatabase = this.getReadableDatabase();
    Cursor cursor = sqLiteDatabase.rawQuery("SELECT id FROM user WHERE username=?", new String[]{username});
    int id = -1;
    if (cursor.moveToFirst()) id = cursor.getInt(0);
    cursor.close();
    sqLiteDatabase.close();
    return id;
}

如果未找到用户,方法 GetId() 将 return -1,因此您可以检查此值以确定 username 是否属于现有用户.