剑灵召唤师鼠标宏教程:jsp连接SQL数据库,百试不解啊!!!!

来源:百度文库 编辑:查人人中国名人网 时间:2024/05/07 23:57:21
<%! String UserID,UserName,UserPassword,Email,UserTel,UserYou,UserAdd,url,sql;%>
<%! ResultSet rs; %>
<%! Statement stmt; %>
<%
UserID=request.getParameter("UserID").trim();
UserID=new String(UserID.getBytes("ISO-8859-1"));
UserName=request.getParameter("UserName").trim();
UserName=new String(UserName.getBytes("ISO-8859-1"));
UserPassword=request.getParameter("UserPassword").trim();
Email=request.getParameter("Email").trim();
Email=new String(Email.getBytes("ISO-8859-1"));
UserTel=request.getParameter("UserTel").trim();
UserYou=request.getParameter("UserYou").trim();
UserAdd=request.getParameter("UserAdd").trim();
UserAdd=new String(UserAdd.getBytes("ISO-8859-1"));
try
{
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=web"; ;
Connection conn=DriverManager.getConnection(url,"sa","我的密码");
stmt=conn.createStatement();
sql="insert into UserIfo(UserID,UserName,UserPassword,Email,UserTel,UserYou,UserAdd)";
sql=sql+"values('"+UserID+"','"+UserName+"','"+UserPassword+"','"+Email+"','"+UserTel+"','"+UserYou+"','"+UserAdd+"')";
stmt.executeUpdate(sql);
rs.close();
stmt.close();
conn.close();
}
catch(Exception e){}
%>
注册成功!

单独运行该界面报错:org.apache.jasper.JasperException
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:372)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

如果运行注册界面,传到这个jsp时,却显示了"注册成功!"但数据库却没有数据.
为什么呢?我的数据库sp3补丁也打了.jdbc驱动也装了(就是不知道装成功没有,还没有成功写入过数据,但我觉得jdbc问题基本可以排除).
出错信息:com.microsoft.jdbc.sqlserver.SQLServerDriver 注册成功!


catch(Exception e){}

改为

catch(Exception e){out.print("出错信息:"+e.getMessage());}

看看错误是什么?

如果你确认装过驱动,你可以将错误信息输出得更详细些.
改成
catch(Exception e){e.printStackTrace();}

sqlserver for jdbc 安装目录下有三个 *.jar 文件
msbase.jar
mssqlserver.jar
msutil.jar

将这三个文件放到 lib 下面.重启web容器,ok

你先手动往数据库里面添加两条数据,然后看用jsp能不能读出来。

然后确定一下你JSP中添加的数据库和你手动查询的数据库是不是同一个数据库。其它我也没什么办法了。

try
{
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=web"; ;
Connection conn=DriverManager.getConnection(url,"sa","我的密码");
stmt=conn.createStatement();
sql="insert into UserIfo(UserID,UserName,UserPassword,Email,UserTel,UserYou,UserAdd)";
sql=sql+"values('"+UserID+"','"+UserName+"','"+UserPassword+"','"+Email+"','"+UserTel+"','"+UserYou+"','"+UserAdd+"')";
stmt.executeUpdate(sql);
rs.close();
stmt.close();
conn.close();
}
catch(Exception e){out.print("错误");}
%>