繁体   English   中英

使用sqllite登录失败

[英]Failed to Login using sqllite

我是android开发的新手。 因此,我试图使用Sqlite作为数据库来实现注册和登录页面。 但是写完数据库代码和登录活动代码之后。 登录后,它不是执行登录后的其他活动,而是执行else代码。 看看下面的代码

数据库代码

//Check if user exist from Database
public boolean checkUser(String email, String password) {

    //array of columns to fetch
    String[] columns = {Constant.USER_ID};
    SQLiteDatabase db = this.getReadableDatabase();

    //selection Criteria
    String selection = Constant.USER_EMAIL + " =?" + " AND " + Constant.USER_PASSWORD + " =?";

    //selection argument
    String[] selectionArgs = {email, password};

    //Query user table with conditions
    Cursor cursor = db.query(Constant.USER_TABLE_NAME, columns, selection, selectionArgs, null,null,null);

    int cursorCount = cursor.getCount();
    cursor.close();
    db.close();

    if (cursorCount > 0) {
        return true;
    }

    return false;
}

登录活动代码

private void proceedToLogin(String email, String password)
{
    boolean login = myDb.checkUser(email, password);
    if (login) {
        proceedToDashBoard();
    }
    else {
        Toast.makeText(this, "Failed to login", Toast.LENGTH_SHORT).show();
    }
}

可能是您要认证的用户不存在于数据库中,或者您编写的将用户插入到数据库中的方法不正确。 您可以通过在将凭证发送到db的部分放置断点来进行调试,以检查是否为空。

此外,您可以通过以下方式访问SQLite数据库并检查是否存在任何数据:设备资源管理器(android studio的右下方)> data> data> com.yourpackage.name> databases,您将在其中找到您的数据库。 确保USB调试处于活动状态,并且您已连接手机。

下载数据库并使用在线sqlite浏览器查看其内容。 您也可以本文中查看有关使用sqlite进行注册和登录的信息。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM