大家快快帮看看这个登录验证的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;
}
}
...全文
176 13 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
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
  • 打赏
  • 举报
回复
怎么用不起,错误是什么?!

81,122

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧