日期:2014-05-17  浏览次数:20819 次

用Java编程时,要验证密码是否正确,所以把输入的与数据库中的进行对照,可运行却提示Invalid column name
while(rs.next()){
name=rs.getString("dusername");
  pass=rs.getString("dpassword");
if(username.equals(name)&&password.equals(pass)){
success=true;
break;
}
out.println(name+" ");
out.println(pass+"<br>");
}
if(success){
out.println("登录成功!"+"<br>"+"<br>");
out.println("<a href='/wlxt/cldd.html'>车辆调度</a>");
}else{
out.println("对不起,密码错误!请重新登录"+"<br>"+"<br>");
out.println("<a href='/wlxt/login.html'>重新登录</a>");
}
这是我验证块的代码,username是用户输入的用户名,现在的问题是从HTML页面输入用户名和密码后页面就卡在这个servlet这里(servlet的标题是“验证密码”,显示的页面只有一个标题,其他都是空白),MyEclipse中提示我Invalid column name:dpassword 可数据库中存在这个列值,我的表是:表名dl 有两列:dusername,dpassword。请前辈指教

------解决方案--------------------
String sql = "select dusername from dl where dusername='"+dusername+"'and dpassword='"+dpassword+"'";

语句中你只返回了dusername ,而在程序中你取了dpassword,当然要出错啦。