使用jsp编程与sql server连接的问题

*************************************************************//addUser.jsp<html><head... *************************************************************
//addUser.jsp
<html>
<head>
<title>User Add</title>
</head>
<body>

<form method="post" action="jdbc.jsp">
<p align="center">姓名
<input type="text" name="name" size="20">
<p align="center">密码
<input type="passward" name="pwd" size="20">
<p align="center">
<input type="submit" value="提交" name="B1">
</form>
</body>
</html>
**************************************************************

************************************************************
//jdbc.jsp
<html>
<head>
<title>add user to db</title>
</head>
<%@ page import="java.sql.*"%>
<body>
<pre>
<%
//get parameters from request
String name,pwd;
name=request.getParameter("name");
pwd=request.getParameter("pwd");
try{
//add information to DB
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con=DriverManager.getConnection("jdbc:odbc:jspTest");
Statement stmt=con.createStatement();
stmt.executeUpdate("insert into tbuser values('"+name+"','"+pwd+"')");

//query DB for display all users
ResultSet rs=stmt.executeQuery("select*from tbuser");
//rs.frist();
out.println("All user in DB!");
while(rs.next()){
out.print("username:");
out.print(rs.getString("name")+" passward:");
out.print(rs.getString("password"));
}

//clear,must do it
rs.close();
stmt.close();
con.close();

}catch(Exception ex){
out.println(ex.getMessage());
}
%>
</pre>
</body>
</html>
*************************************************************

但是运行http://localhost:8080/addUser.jsp后,出现下面的错误,
***********************************************************
[Microsoft][ODBC SQL Server Driver][SQL Server]??? 'tbuser' ???
***********************************************************

我想问的是,这个问题是数据源没有设置对么?还是什么其它的原因,
需要说明的,我运行其它的jsp文件,均正常,可以排除apache Tomcat没有问题!
问题补充如下,我的数据库名为tbuser,数据库中表的名字也为tbuser,数据源名称为jspTest,上一个问题的原因在于数据库中表的名称我以前命名的是table。但是下面的问题是,其他没有改动的情况下,在运行addUser.jsp 后,输入数据提交,出现下面的jdbc.jsp页面,后台数据库查询,发现数据已经输入到表中了,这个又是什么原因呢?
数据库中的有两列
name passward
内容依次为:第一行:we|34355
第二行:tr|ui7998o
其它s省略,请各位高手帮帮忙,看看。
***********************************************************
All user in DB!
username:we passward:Column not found
***********************************************************
展开
 我来答
百度网友218770e05
2007-03-04
知道答主
回答量:39
采纳率:0%
帮助的人:45.4万
展开全部
原因有:1
.在jsp代码中连接数据库的那一行即:
Connection con=DriverManager.getConnection("jdbc:odbc:jspTest");
应该写成:
Connection con=DriverManager.getConnection("jdbc:odbc:数据源名";DatabaseName=数据库名,登录名,登录密码);
2.根据select*from tbuser判断,“tbuser”是个表名。可能你所指定的数据库中没有这个表。
paccer
2007-03-04 · TA获得超过920个赞
知道小有建树答主
回答量:1617
采纳率:100%
帮助的人:1374万
展开全部
代码没什么问题,那个“select*from tbuser”应该是“select * from tbuser”

先检查那个tbuser表存在吗,里面的数据有没有被修改,还有那ODBC数据源有没有配对,用户名密码正确吗
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
之奥晓文
2007-03-04 · 超过27用户采纳过TA的回答
知道答主
回答量:80
采纳率:0%
帮助的人:73.5万
展开全部
首先,建议你捕捉一下异常!!!
还有 写上解码:
request.setCharacterEncoding("GBK");
估计是出现乱码问题!!!!

还有的就是,一般那个stmt这样用两次是不行的,再定义一个吧,试试看
~~~!!!!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hehiha
2007-03-04
知道答主
回答量:4
采纳率:0%
帮助的人:0
展开全部
是表名不存在,请检查一下是否有输入错误.
Connection con = DriverManager.getConnection("jdbc:odbc:jspTest");
这行没有错误.
可以这么写的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式