0
在MySQL中,有一個名爲admin的表,其中有3列,分別是adminID,名稱和密碼。在MySQL中檢索名稱
我想比較用戶輸入的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;
}
}
我的代碼有什麼問題?任何幫助將不勝感激。
是什麼讓您認爲'name'不應該爲空?我的意思是它在註釋行中爲空,並且在此之後從未分配,所以.. –
@RC。什麼是正確的方式來檢索名稱從MySQL到'name'變量? –
'rs.getString(「name」)'probably,see https://docs.oracle.com/javase/8/docs/api/java/sql/ResultSet.html and https://docs.oracle.com/ javase/tutorial/jdbc/basics/ –