+ -
当前位置:首页 → 问答吧 → 紧急求助,分数全给你了···

紧急求助,分数全给你了···

时间:2011-12-20

来源:互联网

这是本人弄的JSP+Access登陆系统验证身份代码,为什么运行的时候就直接说密码错误了,貌似没有查询

String url = "jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=f:\\test\\pubs.mdb";
//加载驱动程序 
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
//建立连接 
Connection conn = DriverManager.getConnection(url);
//创建语句对象 
Statement stmt=conn.createStatement 
(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE); 
// **** 数据库连接代码 结束 ********* 



//*********** 测试数据代码结束 ******************************* 

String name=request.getParameter("name");
  String pwd=request.getParameter("pwd");


String sql ="select * from students1 where name='"+name+"' and pwd='"+pwd+"'";
ResultSet rs = stmt.executeQuery(sql); 

   
 if(rs.next())
 {
  
  session.setAttribute("name",rs.getString("name"));
  session.setAttribute("pwd",rs.getString("pwd"));
  rs.close();
  conn.close();
  response.sendRedirect("success.jsp");

 }
 else
 {
  out.print("密码错误");
  rs.close(); //关闭记录集对象 
  stmt.close(); //关闭语句对象 
  conn.close(); //关闭连接对象 
  }




}catch (Exception ex) {
out.print(ex);
}

作者: jspcainiao   发布时间: 2011-12-20

能把你的建表语句拿出来瞧瞧

作者: cstur4   发布时间: 2011-12-20

我建的是access数据库表

作者: jspcainiao   发布时间: 2011-12-20

咋一看确实没有问题,但程序是不会欺骗你的,输出下你的sql语句,看对应的数据库能查到东西吗

作者: a3737500   发布时间: 2011-12-20

你的结果集 resultset 是空的 肯定 肯定是查询条件导致的,换个查询条件试试。 
换成 select * from students1 看看结果集 Rs还空不

作者: zhuyijian135757   发布时间: 2011-12-20

我帮你分析了一下你说的数据库我没有用过
不知道是不是这个原因
有2个中原因
第一个你把用户名和密码打印出来看看是不是为空
第二个原因可能是你代码哪里出错了
你就把你的sql语句在你数据库客户端运行一次在放到这里看看
以上的原因都是你没有查询出结果才导致你的密码错误的

作者: cs123456789dn   发布时间: 2011-12-20