我有以下代码,它查询MySQL数据库以检查用户是否是管理员。
public String admin ()
{
String username = loginUserTF.getText();
String password = loginPassPF.getText();
String query = "SELECT * FROM userinfo where username=? and password=?";
try {
connect.pst = connect.con.prepareStatement(query);
connect.pst.setString(1, username);
connect.pst.setString(2, password);
connect.rs = connect.pst.executeQuery();
String admin = connect.rs.getString("Administrator");
return admin;
} catch(Exception e){}
}
我知道return语句必须在try和catch块之外,但是我无法返回String
admin
。有什么方法可以解决这个问题?
答案 0 :(得分:1)
只需将结果存储在变量中,然后在try块后返回。
public String admin ()
{
String result=null;
String username = loginUserTF.getText();
String password = loginPassPF.getText();
String query = "SELECT * FROM userinfo where username=? and password=?";
try{
connect.pst=connect.con.prepareStatement(query);
connect.pst.setString(1, username);
connect.pst.setString(2, password);
connect.rs = connect.pst.executeQuery();
if (rs.next())
result = connect.rs.getString("Administrator");
}
catch(Exception e){
}
return result;
}
我还建议你不要把你的捕获条款留空。你应该处理你捕获的任何例外。