java在sqlite数据库android中获取用户名的id

kqqjbcuj  于 2021-07-13  发布在  Java
关注(0)|答案(1)|浏览(536)

在我的android应用程序中,如何编辑此代码以返回用户名的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;
lnvxswe2

lnvxswe21#

使用以下命令获取光标后:

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

必须将光标的索引移到其第一行(如果表中存在用户)并读取 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() 会回来的 -1 ,因此可以检查此值以确定 username 属于现有用户。

相关问题