java - 如何制作 SQL 语句
问题描述
我有一个带有名称和密码的数据库。当有人输入两个参数时,我需要在数据库中选择正确的行。我知道如果我只想选择我能做的名字:
如何选择名称和密码?谢谢!
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 查询,检查这个,而不是你应该执行以下相同的操作:
DB.rawQuery("SELECT name, password FROM DBUsers WHERE name = ? AND password = ?", new String[] {User, Password});
推荐阅读
- php - 获取每个 eloquent pviot 的最后一项
- python - 使用 python 和 pandas 打印索引而不是实际值
- delphi - 为什么TStream有Read、ReadBuffer、ReadData、ReadBufferData来读取数据?它们之间有什么区别?
- authentication - RSA_public_decrypt 失败并返回 -1
- python - 如何将中间结果存储在 pyspark reduceByKey 函数中?
- python - Django ORM 特定查询
- angular - 粘性表格标题不适用于角度 8
- spring - org.jooq.exception.DataAccessException:SQL [选择
- spring-boot - XML 到 json,反之亦然 Spring Boot 应用程序,它在内部调用 Restful 服务
- cmd - CMD 如何从文本文件中读取多个 IP 并将结果打印到一个文件中?