使用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
*********************************************************** 展开
//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
*********************************************************** 展开
展开全部
代码没什么问题,那个“select*from tbuser”应该是“select * from tbuser”
先检查那个tbuser表存在吗,里面的数据有没有被修改,还有那ODBC数据源有没有配对,用户名密码正确吗
先检查那个tbuser表存在吗,里面的数据有没有被修改,还有那ODBC数据源有没有配对,用户名密码正确吗
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
首先,建议你捕捉一下异常!!!
还有 写上解码:
request.setCharacterEncoding("GBK");
估计是出现乱码问题!!!!
还有的就是,一般那个stmt这样用两次是不行的,再定义一个吧,试试看
~~~!!!!
还有 写上解码:
request.setCharacterEncoding("GBK");
估计是出现乱码问题!!!!
还有的就是,一般那个stmt这样用两次是不行的,再定义一个吧,试试看
~~~!!!!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
是表名不存在,请检查一下是否有输入错误.
Connection con = DriverManager.getConnection("jdbc:odbc:jspTest");
这行没有错误.
可以这么写的
Connection con = DriverManager.getConnection("jdbc:odbc:jspTest");
这行没有错误.
可以这么写的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询