我创建了此方法,但是当我尝试调用该方法时,它返回一个空指针异常。谁能告诉我怎么了?请帮帮我
public Talent SearchTalentQuery(int talentID){
String SearchTalentString = "SELECT * FROM TALENT WHERE TALENTID = "+talentID+";";
Talent talent=null;
try{
//error in select query
if(getOracleXEConnection()!=null){
Statement statement = conn.createStatement();
ResultSet rs = statement.executeQuery(SearchTalentString);
while( rs.next()){
talent.setTalentName(rs.getString("talentname"));
talent.setTalentFocus(rs.getString("maintalentfocus"));
talent.setTalentNationality((rs.getString("nationality")));
talent.setTalentGroup(rs.getString("talentgroup"));
talent.setTalentHiredate(rs.getString("hiredate"));
talent.setTalentAge(Integer.parseInt(rs.getString("age")));
talent.setTalentID(Integer.parseInt(rs.getString("talentid")));
}
rs.close();
statement.close();
conn.close();
return talent;
}
else{
return null;
}
}
catch(SQLException | NumberFormatException e){
e.printStackTrace();
}
return null;
最佳答案
因为您的整个代码不会初始化人才对象的内存。您需要初始化人才对象的内存。
利用:
人才=新Talent();
在...的地方
人才=空;
它可能会解决您的问题。