注册 登录
编程论坛 J2EE论坛

登录连接数据库(sql)出错

发布于 2011-05-25 18:24, 535 次点击
login.jsp如下
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>无标题文档</title>




<script type="text/javascript">
function check()
{
  if(form1.name.value=="")
  {
     alert("请输入姓名!");
     form1.name.focus();
     return false;


  }
  if(form1.password.value=="")
  {
     alert("请输入密码!");
     form1.password.focus();
     return false;


  }
  return true;
}
</script>

</head>

<body>
<form name="form1" method="post" action="log.jsp" onSubmit="return check()">
  <p>用户名:
    <input type="text" name="name">
    </p>
  <p><br>
  密&nbsp;&nbsp;码:
    <input type="password" name="password">
</p>
  <p>
    <input type="submit" name="Submit" value="提交">
    <input type="reset" name="Submit2" value="清空">
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="regist.jsp" target="_blank">我要注册</a></p>
</form>
</body>
</html>

log.jsp如下:
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>无标题文档</title>
</head>

<body>
<%
  String name=request.getParameter("name");
  String password=request.getParameter("password");
  
  Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
    String url="jdbc:Microsoft:sqlserver://localhost:1433;DatabaseName=bbs";
    String username="sa";
    String pwd="sa";
    Connection conn=DriverManager.getConnection(url,username,pwd);
    Statement stmt=conn.createStatement();
   
  String sql = "select * from yonghu where name='"+name+"' and mima= '" + password + "'";
  ResultSet rs=stmt.executeQuery(sql);

int i = 0;
while(rs.next()){
  i++;
}
if (i>0) {
response.sendRedirect("login_ok.jsp");
}
else
    {
    out.print("<script>alert('登录失败');location.replace('login.jsp');</script>");
   
    }
    rs.close();
   stmt.close();
   conn.close();

%>
</body>
</html>
无论我输入什么它都显示登入失败,我都无语了,请教高手,急急急。。。。。!!!
3 回复
#2
wzh5453946222011-05-25 22:14
你那数据库是sql server 2000的吗???

如果是2005的话你得把driver类写成 com.microsoft.sqlserver.jdbc.SQLServerDriver
还有数据库的URL写成 jdbc:sqlserver://localhost:1433;DatabaseName=bbs


#3
2011-05-26 14:44
我是sql server 2000的。
#4
wzh5453946222011-05-26 19:40
你把
     Statement stmt=conn.createStatement();
      ResultSet rs=stmt.executeQuery(sql);

这二句改成
     PreparedStatement stmt = conn.prepareStatement(sql);
    ResultSet rs = stmt.executeQuery();
1