java:try catch语句中的值与外部共享问题

下边是我写的一段代码(返回boolean值,数据查询),我想弄明白为什么trycatch语句中的值不能与外界共享,想共享如何处理publicstaticbooleanlo... 下边是我写的一段代码(返回boolean值,数据查询),我想弄明白为什么try catch语句中的值不能与外界共享,想共享如何处理
public static boolean loginVerify(String userName, String password){
DbUtil.appInit();
Connection conn=null;
Statement stmt=null;
ResultSet rs=null;
Integer temp=0;
String sql="select username,passwd from userinfo where username ='"+userName+"'";
try {
conn= DbUtil.getConnection();
stmt=conn.createStatement();
rs=stmt.executeQuery(sql);
while(rs.next()){
if(password==rs.getString(2))
return true;
else
return false;

}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
DbUtil.closeConnection(conn);
DbUtil.closeStatement(stmt);
DbUtil.closeResultSet(rs);
}
这样写最后不会返回 true 或false
展开
 我来答
zicozhang
2008-03-17 · TA获得超过1621个赞
知道小有建树答主
回答量:788
采纳率:0%
帮助的人:0
展开全部
try catch语句中的变量属于局部变量,就像if else语句一样,不能被外界访问。
若想共享,可以在try 上面定义一个变量:
boolean b = false;
try{
...
if(password==rs.getString(2))
b = true;
else
b = false;
}catch(){
}
//return b;
另外:从楼主的方法名和功能上看,是验证用户登录的sql,因此遍历记录集不需要用while,只需要:
if(rs.next()){
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式