首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Ajax >

很奇怪的有关问题,跪求大神解决

2012-07-29 
很奇怪的问题,跪求大神解决我用Ajax尝试做实现表单数据验证遇到的问题是能连接数据库,能查询数据库但是当

很奇怪的问题,跪求大神解决
我用Ajax尝试做实现表单数据验证
遇到的问题是能连接数据库,能查询数据库
但是当新用户注册成功时,数据库没有增加数据。
搞不懂为什么
下面是几个页面的代码
Conn.jsp

Java code
<%!  Connection con=null;  Statement stmt=null;  ResultSet rs=null;  public void jspInit(){    try{      Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");      con=DriverManager.getConnection("jdbc:odbc:"+"wl","sa","wl");      stmt=con.createStatement();      }    catch(Exception ex){      System.out.println(ex.toString());      }    }    public void Exec(String sql){      jspInit();      try{    stmt.executeUpdate(sql);    }       catch(Exception e){    System.out.print(e.toString());        }      }    public ResultSet getRs(String sql) throws SQLException{      jspInit();      try{      rs=stmt.executeQuery(sql);      return rs;      }      catch(Exception e){       System.out.print(e);      return null;    }      }    public String getS(String Str){      try{    byte b[]=Str.getBytes("ISO-8859-1");    Str=new String(b,"UTF-8");    }      catch(Exception ee){    ee.printStackTrace();    }      return Str;      }

%>


zhuce1.jsp

Java code
<%@ page contentType="text/html;charset=GB2312" import="java.sql.*" errorPage=""%><%@ include file="Conn.jsp"%><%  String name=request.getParameter("name");  String password=request.getParameter("pass");  String mailname=request.getParameter("mailname");  name=getS(name);  String sql="insert into [uesr-ajax](user_name,user_password,user_email) values ('name','password','mailname')";  try{    String sq="select * from [user-ajax] where user_name='"+name+"'";    ResultSet rs=getRs(sq);    if(rs.next()){      out.print("2");      }    else{      Exec(sql);      out.print("1");       }    }  catch(Exception e){    out.print("0");    }%>

zhuce.jsp
HTML code
<%@ page contentType="text/html;cahrset=GB2312" import="java.sql.*" errorPage=""%><script type=text/javascript>  function trim(str){    var t=str.replace(/(^\s*)|(\s*$)/g,"");  //用正则表达式将前后空格用空字符串替代    return t.replace(/(^ *)|( *$)/g,"");    }  var xmlHttp;  function createXMLHttpRequest(){    if(window.ActiveXObject){      xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");      }    else if(window.XMLHttpRequest){           xmlHttp=new XMLHttpRequest();       }    }  function validate(){    createXMLHttpRequest();    var name=document.getElementById("username").value;    var pass=document.getElementById("passname").value;    var mailname=document.getElementById("mailname").value;    var str="name="+name+"&pass="+pass+"&mailname="+mailname;    var url="zhuce1.jsp";    xmlHttp.open("POST",url,true);    xmlHttp.onreadystatechange=callback;    xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");    xmlHttp.send(str);    }  function callback(){    if(xmlHttp.readyState==4){      var s=xmlHttp.responseText;      if(trim(s)==1){    alert("用户注成功,即将转向首页");       clear();    }      if(trim(s)==2){    var ta="<font color='red'>该名称在数据库中已存在,请重新输入</font>"        document.getElementById("res").innerHTML=ta;    document.getElementById("username").value="";    }      }    }  function clear(){    document.getElementById("username").value="";    document.getElementById("passname").value="";    document.getElementById("passname2").value="";    document.getElementById("mailname").value="";    }  function checkPassword(e){    var ok="1234567890qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM_.-";    for(var i=0;i<e.length;i++){      if(ok.indexOf(e.charAt(i))<0){      return false;    }      }    return true;    }  function checkEmail(e){    var ok="1234567890qwertyuiopasdfghjklzxcvbnm[].+@-_QWERTYUIOPASDFGHJKLZXCVBNM";    for(var i=0;i<e.length;i++){      if(ok.indexOf(e.charAt(i))<0){    return false;    }      }    if(e.indexOf("@")<=0){      return false;      }    if(e.indexOf(".")<=0){      return false;      }    if(e.indexOf("@")>e.lastIndexOf(".")){      return false;      }    return true;        }  function validate_form(){    if(document.form1.username.value==""){      alert("昵称不能为空!");      return false;      }    if(bytelength(document.form1.username.value)<1||bytelength(document.form1.username.value)>20){      alert("您输入的昵称不合法!");      return false;      }    if(document.form1.passname.value==""){      alert("输入密码不能为空!");      return false;      }    if(checkPassword(document.form1.passname.value)==false){      alert("您输入的密码不合法!");      return false;      }    if(bytelength(document.form1.passname.value)<6||bytelength(document.form1.passname.value)>16){      alert("您输入的密码不合法!");      return false;      }    if(document.form1.passname.value!=document.form1.passname2.value){      alert("确认密码不一致!");      return false;      }    if(document.form1.mailname.value==""){      alert("电子邮件不能为空!");      return false;      }    if(checkEmail(trim(document.form1.mailname.value))==false){      alert("您输入的Email不合法!");      return false;      }    return true;    }   function bytelength(szString){     return szString.replace(new RegExp("[^\x00-\xff]","g")," ").length;     }   function reg(){     if(validate_form()==false)       return;     validate();     }</script><h3 align=center>用户注册</h3><table border="1" width="80%" align="center">  <form name="form1" method="post">    <tr>      <td width="26%">昵称:</td>      <td><input name="username" id="username"><div id="res"></div>允许输入汉字,长度为1-20个字符</td>    </tr>    <tr>      <td>密码:</td>      <td><input type="password" name="passname" id="passname">由数字、字母(区分大小写)、减号、点或下划线组成,长度为6-16位</td>    </tr>      <tr>      <td>确认密码:</td>      <td><input type="password" name="passname2" id="passname2"></td>    </tr>    <tr>      <td>E-mail地址</td>      <td><input name="mailname" id='mailname' value="sohu@sohu.com"></td>    </tr>    <tr>      <td><input type="button" value="提交" onclick="reg()"/></td>      <td><input type="reset" value="重填"/></td>    </tr>  </form></table><div id="dispaly"></div> 




图片显示新用户已经注册成功


可是数据库却没有数据(图片上的两条记录是之前在数据库中添加的)


我的数据库是SQL Server 2005 表的结构是这样的


希望能有高手替小弟解决下
谢谢了




[解决办法]
提交没有事件方法
[解决办法]
单步调试,看看那部没有取到数据

热点排行