java - 检查数据库中密码的函数

标签 java android sqlite

我正在编写 Android Studio 应用程序的代码,但是当我测试该函数以检查密码是否正确并在数据库中匹配时,应用程序崩溃了。我已在以下代码中隔离了该问题。如果我从代码中删除此函数,该应用程序将完美运行。

 public String searchPass(String uname, String pass){
    db = this.getReadableDatabase();
    String query= "select uname, pass from" + TABLE_NAME;
    Cursor cursor=db.rawQuery(query, null);
    String a, b;
    b="not found";
    if(cursor.moveToFirst()){
        do{
            a= cursor.getString(0);
            if(a.equals(uname)){
                b=cursor.getString(1);
                break;
            }
        }while(cursor.moveToNext());
    }
    return b;
}

最佳答案

您的问题是,由于 FROM 关键字和表名之间缺少空格,因此会出现 SQL 语法错误。

要解决此问题,请使用:-

    String query= "select uname, pass from " + TABLE_NAME;

关于java - 检查数据库中密码的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52130575/

相关文章:

java - 使用其他网络的 ip 时,方法 getHardwareAddress() 给出 NullPointerException

java - vSphere Web 服务示例失败并显示 "The server sent HTTP status code 200: OK"

java - Unicode 查询参数的 Punycode

java - 在android中创建可触摸电线

python-3.x - sqlite3.数据库错误: file is not a database

java - 如何从我的 servlet 类访问放在/tmp 文件夹中的 sqlite 数据库文件?

android - 线性布局上有类似 "bringToFront()"的方法吗?

android - android中的触摸事件

java - 检查表格布局并在必要时更新的有效方法

android - 我们如何在 Assets 文件夹中的sqlite中升级数据库