在MySQL中,有一个名为admin的表,有3列,分别是adminID、名称和密码。
我想将用户输入的 id 和 name 与 MySQL 中的数据进行比较。如果 ID 和密码匹配,则显示名称。但是,名称显示的值始终为空。
public boolean checklogin(String id, String Pass)throws Exception
{
boolean check=false;
String name = null; // because assigning null here ?
String sql = "SELECT * FROM admin WHERE adminID =? and password= ?" ;
DatabaseConnection db = new DatabaseConnection();
Connection conn =db.getConnection();
PreparedStatement ps = conn.prepareStatement(sql);
ps.setString(1, id);
ps.setString(2, Pass);
ResultSet rs = ps.executeQuery();
admin lg=new admin();
lg.setID(id);
lg.setPassword(Pass);
lg.setName(name);
if(rs.next())
{
check =true;
System.out.println(lg.getName());
ps.close();
rs.close();
conn.close();
return check;
}
}
我的代码有什么问题吗?任何帮助将不胜感激。
最佳答案
这是因为您没有显示数据库中的名称,而是显示您分配的名称,该名称为空。您需要将 System.out.println(lg.getName());
替换为 System.out.println(rs.getString("name"));
关于java - 在 MySQL 中检索名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36666816/