4米原木材积表:JSP连接数据库出现的问题?

来源:百度文库 编辑:杭州交通信息网 时间:2024/05/05 05:19:18
前些日,小弟,用JSP编写个用户登陆程序,先用一个用户登陆页面,点登陆后,连接到验证页面,验证页面通过连接数据库查看用户名和密码是否正确,但是,当连接到验证页面就出现了如下错误:
[Microsoft][ODBC ???????] ???????????????????
思考了N天后,不知道是什么原因,今天特向各位高手请教,数据源是LOGIN,数据库是TEST,表是TestUser,字段属性(userID varchar(20),userPass varchar(6)),都不允许为空,验证页面的连接数据库代码,放在JAVA中,可以验证成功,但是一放到JSP就出现如上错误.望高手指点一二,不胜感谢~!源代码如下:

login.jsp (登陆页面)

<%@ page contentType="text/html;charset = GBK" %>

<html>
<head>
<title>用户登录</title>
<style type = "text/css">
.style1
{
font-size:5ex;
font-weight: bold;
color: #FF0000;
font-style: italic;
}
</style>
</head>

<body>
<br />
<form name = "frm" action="loginresult.jsp" method="post">
<div align="center">
<span class="style1">欢迎来到 YY 空间</span>
<p>用户登录
</div>

<table align="center">
<tr>
<td>用户:</td>
<td>
<input type="text" name="userName">
</td>
</tr>

<tr>
<td>密码:</td>
<td>
<input type="password" maxlength="6" name="pass">
</td>
</tr>
</table>

<p align="center">
<input type="submit" name="submit" value="登录">
<input type="reset" name="reset" value="取消">
</form>
</body>
</html>

loginresult.jsp(验证页面)

<%@ page contentType="text/html; charset = GBK" %>
<%@ page import="java.sql.*" %>

<%
try
{
String userName = request.getParameter("userName");
String pass = request.getParameter("pass");
String strCon ="jdbc:odbc:Login";
String query ="select * from TestUser where userID =? and userPass =?";

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con = DriverManager.getConnection(strCon,"sa","");
PreparedStatement ps = con.prepareStatement(query);

ps.setString(1,"admin");
ps.setString(2,"111111");

ResultSet rs = ps.executeQuery();

if(rs.next())
{
out.println("登录成功");
}
else
{
out.println("登录失败");
}
rs.close();
ps.close();
con.close();
}

catch(Exception ex)
{
out.println(ex.getMessage());
}
%>

ps.setString(1,"admin");
ps.setString(2,"111111");
这里有问题,这里这样写,那不就是个死的了
要把它改成
ps.setString(1,userName);
ps.setString(2,pass);
还不懂的话,找我

ps.setString(1,"admin");
ps.setString(2,"111111");
你既然从上个页面获取到值了?干吗这里还要给他付值?
ps.setString(1,userName);
ps.setString(2,pass);

楼上的2位兄弟有没有想过:即使是常量也不会出错啊.顶多就out.println("登录失败")了.
应该先检查下数据库jar有没有正确放入classpath中,在检查下出错信息看是哪行出错了,最好贴出来看看.

如果你是用SQLSEVER,我建议你先检查一下数据员,建立数据源的时候要用系统DNS建立,要是用用户DNS就出现错误,不知道我的想法对不对
以为我看你的JSP代码应该没有错误,我就曾经遇到过这种情况!!