大家快快帮看看这个登录验证的bean对不对,急用,急死拉,多谢,100分

luckboy1017 2004-09-08 10:01:46
package tom.jiafei;
import java.sql.*;

public class Login
{ String logname,
password,

message=""; //用来返回登录是否成功的消息。

Connection con;
Statement sql;
ResultSet rs;
public Login() { //加载桥接器:
try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(ClassNotFoundException e){}
}
//设置属性值、获取属性值的方法:
public void setLogname(String name)
{ logname=name;
}
public String getLogname()
{return logname;
}
public void setPassword(String pas)
{ pas=password;
}
public String getPassword()
{return password;
}



//查询数据库的member表:
public String getMessage()
{

try{
con=DriverManager.getConnection("jdbc:odbc:redsun","sa","sa");
sql=con.createStatement();
String condition="SELECT password FROM Nmanage WHERE logname = "+"'"+logname+"'";

rs=sql.executeQuery(condition);


if(rs.next())
{
String pas= rs.getString("password");


if(password.equals(pas.trim()))

{message="ok";

}
else
{ message="error";

}


con.close();
return message;
}
}


catch(SQLException e)
{ message= "输入的用户名或密码不正确";

return message;
}
return message;
}
}
...全文
142 点赞 收藏 13
写回复
13 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
luckboy1017 2004-09-09
声明,用了xsp的方法,解决了,所以多给分,大家不要见怪
回复
yaray 2004-09-09
请楼主注意 xjtumates(雁入云天) 的回答.
回复
xsp 2004-09-09
接分来了。
说明一下,楼主的数据库中password字段是char类型的,String pas= rs.getString("password");之后少了一句pas=pas.trim();去掉多余的空格。所以总是不相等。
回复
xjtumates 2004-09-08
public void setPassword(String pas)
{ pas=password;
}

==>>

public void setPassword(String pas)
{ password = pas;
}
回复
luckboy1017 2004-09-08
debug 怎么做
回复
remanwang 2004-09-08
debug一下就清楚了
回复
skyboy0720 2004-09-08
既然通过了,那就应该数据的问题了!
好好检查一下,因为看不到你调用,还有你的数据,没法帮你判断!
回复
vampirewp 2004-09-08
你用password.trim().equals(pas.trim())试试
回复
apicescn 2004-09-08
代码应该没什么问题,报错了吗?不过对于return返回的值最好加上()好些。比如return (message);
回复
仙鹤 2004-09-08
返回error说明你的密码验证没有通过,
这没有问题啊
if(rs.next())
{
String pas= rs.getString("password");


if(password.equals(pas.trim()))

{message="ok";

}
else
{ message="error";

}


你有这句话:
else
{ message="error";

}
回复
dvictor 2004-09-08
for(;rs.next();)
{
String pas= rs.getString("password");


if(password.equals(pas.trim()))

{message="ok";

}
else
{ message="error";

}
用for语句 if语句只判断了第一条记录
回复
luckboy1017 2004-09-08
没次都返回error
,我的数据库连接没有问题。
回复
skyboy0720 2004-09-08
怎么用不起,错误是什么?!
回复
相关推荐
发帖
Web 开发
创建于2007-09-28

8.0w+

社区成员

Java Web 开发
申请成为版主
帖子事件
创建了帖子
2004-09-08 10:01
社区公告
暂无公告