java - 怎样才能造出SQL语句

标签 java android

我有一个带有名称和密码的数据库。当有人输入两个参数时,我需要在数据库中选择正确的行。我知道如果我只想选择我可以做的名字:

如何选择名称和密码?谢谢!

public void Register(View view){
    String User = usr.getText().toString();
    String Password = pass.getText().toString();
    if(User.isEmpty() && Password.isEmpty()) Toast.makeText(this, "You Must fill all the fields", Toast.LENGTH_LONG).show();
    else{
        if(User.equals("admin") && Password.equals("admin")) ActivarActivityMenuAdministrador();
        else{
            AdminSQLiteOpenHelper adminsql = new AdminSQLiteOpenHelper(this, "DBUsers",null,1 );
            SQLiteDatabase DB = adminsql.getWritableDatabase();

            Cursor fila = DB.rawQuery("select name, password from DBUsers where nombre=" + User, null);
        }
    }
}

最佳答案

如果您将密码存储为纯文本:

DB.rawQuery("select name, password from DBUsers where name="+ User + "AND password="+ Password, null);

旁注: 切勿将参数直接传递给 SQL 查询,检查 this ,相反,您应该执行与以下相同的操作:

DB.rawQuery("SELECT name, password FROM DBUsers WHERE name = ? AND password = ?", new String[] {User, Password});

关于java - 怎样才能造出SQL语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51878284/

相关文章:

java - 没有maven的eclipse中java + scala + lift项目的环境

eclipse - Eclipse 中 JRE 系统库中的断点

android - 我们可以在 Android 中创建 Kiosk 应用程序吗?

android - 如何将已安装应用程序中的组件公开给即时应用程序可见?

android - Android Studio 3.1 Gradle-macOS-High Sierra

java - 如何在输入拆分中计算位置

java - 借助 URL 在本地浏览器中显示来自服务器的 .log 内容

java - 在应用程序类中保存数据错误

java - 将 X509 证书转换为 Base64 时遇到问题

java - Gradle构建失败的Android Studio