菜鸟举手提问:为什么我向数据库中写不进去东西!
我的注册网页能运行为什么再查数据库中没有提交信息?哪为大侠拉我一把,定当终身为谢!
注册表单代码如下<%@ page language="java" import="java.sql.*"%>
<%@ page contentType="text/html;charset=gb2312"%>
<html>
<head>
<title>user register</title>
</head>
<body>
<%
String userid=request.getParameter("userid");
String username=request.getParameter("username");
String password=request.getParameter("password");
String confirm_password=request.getParameter("confirm_password");
String question=request.getParameter("question");
String answer=request.getParameter("answer");
String name=request.getParameter("name");
String sex=request.getParameter("sex");
String literacy=request.getParameter("literacy");
String mail=request.getParameter("mail");
String aihao=request.getParameter("aihao");
%>
<%
if((userid.length()==0)||( username.length()==0)||(password.length()==0)||(confirm_password.length()==0))
out.println("用户帐号,登录名,密码,及密码校验不能为空!");
else if ((question.length()==0)||(answer.length()==0))
out.println("密码遗失提示问题及答案不能为空!");
else if (!password.equals(confirm_password))
out.println("密码与确认密码不一致!");
else if( mail.length()==0)
out.println("E-MAIL不能为空!");
else if(mail.indexOf('@')<=0)
out.println("EMAIL 地址有错误!");
else{
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String url="jdbc:odbc:nn";
Connection con =DriverManager.getConnection(url);
PreparedStatement insert_stm=con.prepareStatement("insert into nn valuse(?,?,?,?,?,?,?,?,?,?,?)");
insert_stm.setString(1,userid);
insert_stm.setString(2,username);
insert_stm.setString(3,password);
insert_stm.setString(4,confirm_password);
insert_stm.setString(5,question);
insert_stm.setString(6,answer);
insert_stm.setString(7,name);
insert_stm.setString(8,sex);
insert_stm.setString(9,literacy);
insert_stm.setString(10,mail);
insert_stm.setString(11,aihao);
try{
insert_stm.executeQuery();
}catch(Exception e){}
con.close();
%>
<table border=1 cellspacing="0" cellpadding="0"
bordercolordark="#88a6dd" bordercolorlight="#88a6dd"
align="center">
<tr>
<td bgcolor="#88a6dd">现<br>在<br>登<br>录</td>
<td>
<table border=0 cellspacing="0" cellpadding="0">
<tr>
<td bgcolor="#88a6dd" align="center">你已成功注册</td>
</tr>
<tr>
<td align="center">
<form action="particular_action.jsp">
用户<input type="texe" name="userid" size=10><br>
密码<input type="password" name="password" size=10> <br>
<INPUT border =0 height=23 name="login" src="login.bmp"
type=image width=52>
</form ></td> </tr> </table>
</td></tr></table>
<%
}catch (Exception e){out.println(e);}
}
%>
</body>
</html>
**************************************************************************jsp与sql server2000的连接文件如下package opendb; //定义包opendb
import java.sql.*; //引入java.sql.*
//包中的类opendb
public class opendb {
String sDBDriver="sun.jdbc.odbc.JdbcOdbcDriver"; //数据库连接字符串:jdbc-odbc桥
String sConnStr="jdbc:odbc:nn";
Connection conn=null;
ResultSet rs=null;
//定义打开数据库连接的函数
public opendb() {
try
{
Class.forName(sDBDriver);
}
catch (java.lang.ClassNotFoundException e)
{
System.err.println("opendb():"+e.getMessage());
}
}
//定义执行sql语句的函数
public ResultSet executeQuery(String sql) {
rs=null;
try
{
conn=DriverManager.getConnection(sConnStr);
Statement stmt=conn.createStatement();
rs=stmt.executeQuery(sql);
}
catch (SQLException ex)
{
System.err.println("aq.executeQuery:"+ex.getMessage());
}
return rs;//返回sql语句的执行结果
}
}