package SERVLET;//这是一个处理类(处理users表)——————操作UserBeanimport java.sql.*;
public class UserBeanCL { private Connection ct=null;
private PreparedStatement ps=null;
private ResultSet rs=null;
//验证用户的方法被处理了
public boolean checkUser(String u,String p)
{
boolean b=false;
try{
//得到连接
ConnDB cd=new ConnDB();
cd.getConn();
ps=ct.prepareStatement("select top 1 passwd from users where userName=u");
rs=ps.executeQuery();
if(rs.next())
{
String dbPasswd=rs.getString(1);
if(dbPasswd.equals(p))
{
b=true;
}
}
}
catch(Exception e)
{
e.printStackTrace();
}
}
}在行 public boolean checkUser(String u,String p)处,出的问题是 这个方法需要一个返回一个boolean类型的结果 既:the method must return a result of type boolean。即使加上return b。
if(rs.next())
{
String dbPasswd=rs.getString(1);
if(dbPasswd.equals(p))
{
b=true;
}
}
return b;
还是在上面的public boolean checkUser(String u,String p)处,出现同样问题。。有点不解了。。望各位说说哦~~
public class UserBeanCL { private Connection ct=null;
private PreparedStatement ps=null;
private ResultSet rs=null;
//验证用户的方法被处理了
public boolean checkUser(String u,String p)
{
boolean b=false;
try{
//得到连接
ConnDB cd=new ConnDB();
cd.getConn();
ps=ct.prepareStatement("select top 1 passwd from users where userName=u");
rs=ps.executeQuery();
if(rs.next())
{
String dbPasswd=rs.getString(1);
if(dbPasswd.equals(p))
{
b=true;
}
}
}
catch(Exception e)
{
e.printStackTrace();
}
}
}在行 public boolean checkUser(String u,String p)处,出的问题是 这个方法需要一个返回一个boolean类型的结果 既:the method must return a result of type boolean。即使加上return b。
if(rs.next())
{
String dbPasswd=rs.getString(1);
if(dbPasswd.equals(p))
{
b=true;
}
}
return b;
还是在上面的public boolean checkUser(String u,String p)处,出现同样问题。。有点不解了。。望各位说说哦~~
{
b=true;
}
试问dbPasswd不等于p的时候,你的返回值呢?
照楼上说的我在如下加上return语句
if(rs.next())
{
String dbPasswd=rs.getString(1);
if(dbPasswd.equals(p))
{
b=true;
}
}
}
return b;照理说也应该是对了吧~因为此种情况下,返回一个false啊~~可是还是一样的出现上述问题。。这又是怎么回事呢?
这个提示是.你这个方法的返回值必须是布尔类型的.否则就报错了
你那个方法我没看到返回值阿.把这个返回值放在最外面.return b;
也就是catch(Exception e)
{
e.printStackTrace();
}
后面.另外.你应该在catch后面加个finally{}把链接关闭了.然后在最外层价格return b;