在MySQL中,有一个名为admin的表,其中有3列是adminID,名称和密码。
我想将用户输入的id和名称与MySQL中的数据进行比较。如果id和密码匹配,则显示名称。但是,名称显示的值始终为null。
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;
}
}
我的代码出了什么问题?任何帮助将不胜感激。
答案 0 :(得分:1)
这是因为您没有显示数据库中的名称,但是您指定的名称为null。您需要将System.out.println(lg.getName());
替换为System.out.println(rs.getString("name"));