Android sqlite判断用户名是否已存在

    public boolean isPasswordOK(String name,String password){//判断密码是否正确
        try{
            SQLiteDatabase db=helper.getReadableDatabase();
            Cursor cursor=db.rawQuery(Users.QUERY_NAME,new String[]{name});
            while ( cursor.moveToNext()) {//这里只有一个对象被查询或没有
                String pwd = cursor.getString(cursor.getColumnIndex(Users.CLOMNS[2]));//查询得到的密码
                db.close();

                if(pwd.equals(password)){//判断密码是否正确
                    return true;
                }
            }
        }catch (Exception e){
            e.printStackTrace();
        }

        return false;
    }

    public boolean isNameExist(String name) {//判断用户名是否重复
        try {
            SQLiteDatabase db = helper.getReadableDatabase();
            Cursor cursor = db.rawQuery(Users.QUERY_NAME, new String[]{name});
            cursor.moveToLast();
            if(cursor.getCount()<=0){
                return false;
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        return true;
    }

注意这里我们使用cursor.moveToLast();cursor.getCount()来获取cursor的步程,如何步程大于零证明数据已存在。

在使用数据库对象时要采用try,catch,不然会闪退。

  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
首先需要创建一个用户表(User Table)来存储用户的账户信息,表结构可以包括用户id、用户名、密码等字段。然后在用户登录的时候,需要与User Table中的数据进行匹配,判断用户名和密码是否正确。 以下是一个简单的实现步骤: 1. 创建User Table表结构,包括用户id、用户名、密码等字段。 2. 在登录界面中,获取用户输入的用户名和密码。 3. 在后台调用数据库API(如SQLite)查询匹配的用户名和密码。 4. 如果查询结果为空,提示用户账户名或密码错误;否则,将用户id、用户名等信息保存到本地(如SharedPreferences)中,表示用户已经登录成功。 以下是一个简单的示例代码: ``` public boolean login(String username, String password) { SQLiteDatabase db = dbHelper.getReadableDatabase(); Cursor cursor = db.rawQuery("select * from UserTable where username=? and password=?", new String[]{username, password}); if (cursor.moveToFirst()) { // 登录成功,保存用户信息到本地 SharedPreferences.Editor editor = context.getSharedPreferences("user_info", Context.MODE_PRIVATE).edit(); editor.putInt("user_id", cursor.getInt(cursor.getColumnIndex("user_id"))); editor.putString("username", cursor.getString(cursor.getColumnIndex("username"))); editor.apply(); return true; } else { // 登录失败 return false; } } ``` 需要注意的是,该示例代码仅作为参考,具体的实现方式可能因应用场景而异。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值