程序如下:
<%--
Document : user_add
Created on : 2008-7-25, 10:34:59
Author : Administrator
--%><%@page contentType="text/html" pageEncoding="UTF-8" import="java.sql.*"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd"><html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
<%
String user1 = "sa";
String password1= "";
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
} catch (ClassNotFoundException e) {
e.toString();
}
Connection conn = DriverManager.getConnection("jdbc:odbc:ch3",user1,password1);
Statement stmt = conn.createStatement();
String s_UserName=request.getParameter("UserName");
String sql="select * from user where UserName ='"+s_UserName+"'";
ResultSet rs=stmt.executeQuery(sql);
if(rs.next()){
out.println("用户名"+s_UserName+"已经存在");
out.println("<input type=button name=btn value=返回 onClick='window.history.go(-1)'>");
}
else{
String s_UserPassword=request.getParameter("Password");
String s_NickName=request.getParameter("NickName");
String s_Sex=request.getParameter("Sex");
String s_Email=request.getParameter("Email");
sql="insert into user (UserName,UserPassword,NickName,Sex,Email) values ('s_UserName','s_UserPassword,'s_NichMama,'s_Sex,'s_Email')";
stmt.executeUpdate(sql);
out.println("注册成功,信息如下:<br>");
out.print("用户名:"+s_UserName+"<br>");
out.print("密码:"+s_UserPassword+"<br>");
out.print("昵称:"+s_NickName+"<br>");
if(s_Sex.equals("0")){
out.print("性别:男<br>");
}
else{
out.print("性别:女<br>");
}
out.print("邮箱:"+s_Email+"<br>");
}
rs.close();
stmt.close();
conn.close();
%>
</body>
</html>
运行的时候说是
exception org.apache.jasper.JasperException: An exception occurred processing JSP page /user_add.jsp at line 2926: Statement stmt = conn.createStatement();
27: String s_UserName=request.getParameter("UserName");
28: String sql="select * from user where UserName ='"+s_UserName+"'";
29: ResultSet rs=stmt.executeQuery(sql);
30: if(rs.next()){
31: out.println("鐢ㄦ埛鍚�+s_UserName+"宸茬粡瀛樺湪");
32: out.println("<input type=button name=btn value=杩斿洖 onClick='window.history.go(-1)'>");
javax.servlet.ServletException: java.sql.SQLException: [Microsoft][ODBC SQL Server Driver][SQL Server]在关键字 'user' 附近有语法错误。
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:850)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:779)
org.apache.jsp.user_005fadd_jsp._jspService(user_005fadd_jsp.java:115)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:337)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:390)
错在那里的啊?麻烦各位大侠啊!!!
<%--
Document : user_add
Created on : 2008-7-25, 10:34:59
Author : Administrator
--%><%@page contentType="text/html" pageEncoding="UTF-8" import="java.sql.*"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd"><html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
<%
String user1 = "sa";
String password1= "";
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
} catch (ClassNotFoundException e) {
e.toString();
}
Connection conn = DriverManager.getConnection("jdbc:odbc:ch3",user1,password1);
Statement stmt = conn.createStatement();
String s_UserName=request.getParameter("UserName");
String sql="select * from user where UserName ='"+s_UserName+"'";
ResultSet rs=stmt.executeQuery(sql);
if(rs.next()){
out.println("用户名"+s_UserName+"已经存在");
out.println("<input type=button name=btn value=返回 onClick='window.history.go(-1)'>");
}
else{
String s_UserPassword=request.getParameter("Password");
String s_NickName=request.getParameter("NickName");
String s_Sex=request.getParameter("Sex");
String s_Email=request.getParameter("Email");
sql="insert into user (UserName,UserPassword,NickName,Sex,Email) values ('s_UserName','s_UserPassword,'s_NichMama,'s_Sex,'s_Email')";
stmt.executeUpdate(sql);
out.println("注册成功,信息如下:<br>");
out.print("用户名:"+s_UserName+"<br>");
out.print("密码:"+s_UserPassword+"<br>");
out.print("昵称:"+s_NickName+"<br>");
if(s_Sex.equals("0")){
out.print("性别:男<br>");
}
else{
out.print("性别:女<br>");
}
out.print("邮箱:"+s_Email+"<br>");
}
rs.close();
stmt.close();
conn.close();
%>
</body>
</html>
运行的时候说是
exception org.apache.jasper.JasperException: An exception occurred processing JSP page /user_add.jsp at line 2926: Statement stmt = conn.createStatement();
27: String s_UserName=request.getParameter("UserName");
28: String sql="select * from user where UserName ='"+s_UserName+"'";
29: ResultSet rs=stmt.executeQuery(sql);
30: if(rs.next()){
31: out.println("鐢ㄦ埛鍚�+s_UserName+"宸茬粡瀛樺湪");
32: out.println("<input type=button name=btn value=杩斿洖 onClick='window.history.go(-1)'>");
javax.servlet.ServletException: java.sql.SQLException: [Microsoft][ODBC SQL Server Driver][SQL Server]在关键字 'user' 附近有语法错误。
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:850)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:779)
org.apache.jsp.user_005fadd_jsp._jspService(user_005fadd_jsp.java:115)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:337)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:390)
错在那里的啊?麻烦各位大侠啊!!!
楼主【qunqun886】截止到2008-07-26 09:21:23的历史汇总数据(不包括此帖):
发帖的总数量:5 发帖的总分数:100 每贴平均分数:20
回帖的总数量:1 得分贴总数量:0 回帖的得分率:0%
结贴的总数量:4 结贴的总分数:80
无满意结贴数:0 无满意结贴分:0
未结的帖子数:1 未结的总分数:20
结贴的百分比:80.00 % 结分的百分比:80.00 %
无满意结贴率:0.00 % 无满意结分率:0.00 %
楼主加油
String s_NickName=request.getParameter("NickName");
String s_Sex=request.getParameter("Sex");
String s_Email=request.getParameter("Email");
sql="insert into user (UserName,UserPassword,NickName,Sex,Email) values('s_UserName','s_UserPassword,'s_NichMama,'s_Sex,'s_Email')"; //你看你的第二和第三个都少了一个'号
stmt.executeUpdate(sql);
这样插入进去的值就不是你用户输入的了 要拼凑一下SQL语句 以下代码我帮你改正了String s_UserPassword=request.getParameter("Password");
String s_NickName=request.getParameter("NickName");
String s_Sex=request.getParameter("Sex");
String s_Email=request.getParameter("Email");
sql="insert into user (UserName,UserPassword,NickName,Sex,Email) values('"+s_UserName+"','"+s_UserPassword+"','"+s_NichMama+"','"+s_Sex+"','"+s_Email+"')";
System.out.println(sql); //建议报错的时候就先把SQL语句打印出来 然后到查询分析器里面执行一下看看是否正确
stmt.executeUpdate(sql);
rs.close();
stmt.close();
conn.close();
块啊,运行的时候会出现javax.servlet.ServletException: java.sql.SQLException: ResultSet is closed
这样的错啊,如果是吧 rs.close(); 取消了啊,就没有错误了啊,且运行正常,麻烦各位给说说啊,小弟很不解啊
在次谢谢大侠们
一般来说,关闭了statement以后,与之对应的resultset就自动关闭了,不用再显示的关闭resultset,所以可以利用这点来简化处理。