Xri*_*ris 1 java compiler-errors
我有一个方法,它将一个字符串值作为参数,然后检查数据库中是否存在该字符串值!如果字符串值已经存在,则该方法应返回true,否则返回false!在我运行该方法之前,我收到编译错误"缺少return语句"!有没有人在下面的代码中发现错误?
public boolean checkID(String sid)
{
try
{
String sessionID = null;
if(dBConnection.connect())
{
Connection con = dBConnection.getConnection();
String query = "SELECT sidvalue FROM sessionid where tokenvalue='" + sid + "'";
Statement pstmt = con.createStatement();
ResultSet resultset = pstmt.executeQuery(query);
while (resultset.next())
{
sessionID = resultset.getString(1);
if(sid.equalsIgnoreCase(sessionID))
{
return true;
}
else
{
return false;
}
}
dBConnection.disconnect();
}//End of If statement
}//End of Try block
catch (Exception e)
{
System.out.println(e);
return false;
}
}//End of method
Run Code Online (Sandbox Code Playgroud)
如果执行没有传递给if语句和/或while循环怎么办?这种情况没有返回值.使用布尔变量或false值返回.只需return false;在此行之后添加一个语句dBConnection.disconnect();,即在try块的if语句中的while循环之后,它就会完成.
顺便说一句,我建议你在一个finally子句中使用数据库断开语句,而不是在try块中.dBConnection.disconnect();如果您的方法在while循环内返回任何值,则很可能不会执行.将此行移动dBConnection.disconnect(); 到catch块之后的finally块,如下所示:
try
{
...
}
catch(Exception e)
{
...
}
finally
{
dBConnection.disconnect();
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2018 次 |
| 最近记录: |