我在运行jsp文件时,servlet中的输出语句能正常运行,显示结果为:注册成功!但是数据库中没我提交的数据,为什么,请各位帮帮忙。
我的JSP文件如下://此文件正常运行,在此省去部分代码
<%@page import="MyPackeg.zhucejava"%>
<%@page import="MyPackeg.ZhuceInsert" %>
<form id="form1" name="form1" method="post" action="servlet/ZhuceInsert">
<input type="text" name="zhucexuenian" id="zhucexuenian" />
<select name="xueqi" id="xueqi" size="1">
                <option value="上学期">上学期</option>
                <option value="下学期">下学期</option>
                </select>
<select name="suozaibanji" id="suozaibanji">
                <% Conn_DbTest zhclink=new Conn_DbTest();
                  ResultSet rs=zhclink.executeQuery("select ClassName from Class");
                  while(rs.next()){%>
                  <option><%=rs.getString("ClassName") %></option>
                  <%} %>
                </select>
<input type="text" name="xuehao" id="xuehao" />我在servlet中的post方法中的代码如下://此文件编译无错,在此省去部分代码
String zhucexuenian=request.getParameter("zhucexuenian");
String xueqi=request.getParameter("xueqi");
String suozaibanji=request.getParameter("suozaibanji");
String xuehao=request.getParameter("xuehao");
String sql="insert into cheakon(Zyear,Zterm,zclass,Znum)values (zhucexuenian,xueqi,suozaibanji,xuehao)";try{
  zhucejava zhuce=new zhucejava();//zhucejava为连接数据库的java类
  out.print("注册成功!");
  zhuce.executeUpdate(sql);
}catch(Exception e){}而我在zhucejava中的代码如下://此文件运行正常,在这里省去部分代码
public void executeUpdate(String sql){//此行省去代码
PreparedStatement pstmt=null;
try{
 pstmt=conn.PrepareStatement(sql);
 pstmt.addBatch();
 pstmt.executeBatch();
}catch(}
}

解决方案 »

  1.   

    String sql="insert into cheakon(Zyear,Zterm,zclass,Znum)values (zhucexuenian,xueqi,suozaibanji,xuehao)"; sql竟然可以这样写,你的值呢
      

  2.   

    catch(Exception e){
     //打印下日志}另外 你的注册成功在执行sql之前输出 就是报错也会输出成功 
      

  3.   

    问题有点严重.推荐你看看李兴华的STRUTS+MVC的登陆视频,在WWW.MLDN.NET里可以下载.
      

  4.   

    out.print("注册成功!");放在zhuce.executeUpdate(sql);后面看能不能输出
    第二个select中option没有value属性
      

  5.   

    String sql="insert into cheakon(Zyear,Zterm,zclass,Znum)values ('"+zhucexuenian+"','"+xueqi+"','"+suozaibanji+"','"+xuehao+"')"; 如果字段都是字符串就这样处理,是数字就把'去掉
      

  6.   

    因为你的values中引用的是变量,所以values部分应写成
    String sql="insert into cheakon(Zyear,Zterm,zclass,Znum)values ('"+zhucexuenian+"','"+xueqi+"','"+suozaibanji+"','"+xuehao+"')"; 
    就可以了。
      

  7.   

    sql语句错误,
    如果,你要插入的都是字符串类型的话应写为:
    String sql="insert into cheakon(Zyear,Zterm,zclass,Znum)values ('"+zhucexuenian+"','"+xueqi+"','"+suozaibanji+"','"+xuehao+"')"; 
    或用
    String sql="insert into cheakon(Zyear,Zterm,zclass,Znum)values (?,?,?,?)"
      

  8.   

    PreparedStatement 是这样应用的吗?
      

  9.   

    String sql="insert into cheakon(Zyear,Zterm,zclass,Znum)values (zhucexuenian,xueqi,suozaibanji,xuehao)"; 
    --------------------------------------->>
    String sql="insert into cheakon(Zyear,Zterm,zclass,Znum)values ('"+zhucexuenian+"','"+xueqi+"','"+suozaibanji+"','"+xuehao+"')"; 变量需要这么写
    一对单引号中间一对双引号中间一对加号
    如果是字段是整型则单引号可以不要
      

  10.   

    我已经照你们说的做了,为什么还是插不进数据呀,我已经把这句:
    String sql="insert into cheakon(Zyear,Zterm,zclass,Znum)values (zhucexuenian,xueqi,suozaibanji,xuehao)"; 
    改为:String sql="insert into cheakon(Zyear,Zterm,zclass,Znum)values ('"+zhucexuenian+"','"+xueqi+"','"+suozaibanji+"','"+xuehao+"')"; 
    为什么还是插不进呀,急呀,再过几天就交东西了,求各位了
      

  11.   

    我把servlet中post方法从
    String zhucexuenian=request.getParameter("zhucexuenian"); 
    String xueqi=request.getParameter("xueqi"); 
    String suozaibanji=request.getParameter("suozaibanji"); 
    String xuehao=request.getParameter("xuehao"); 
    String sql="insert into cheakon(Zyear,Zterm,zclass,Znum)values (zhucexuenian,xueqi,suozaibanji,xuehao)"; 
    改为:
                      String zhucexuenian=request.getParameter("form1.zhucexuenian");
    String xueqi=request.getParameter("form1.xueqi");
    String suozaibanji=request.getParameter("form1.suozaibanji");
    String xuehao=request.getParameter("form1.xuehao");
    String sql="insert into cheakon(Zyear,BTerm,ClassName,Sno)values('"+zhucexuenian+"','"+xueqi+"','"+suozaibanji+"','"+xuehao+"')";
    但插进数据库的值是null
    为什么会这样,求求各位帮帮忙。
      

  12.   

    老大不要 form1这样request.getParameter("xueqi");
      

  13.   

    如果不要form1就什么东西都插不进去呀,数据库根本没反应
    ,我想问哈是不是我的servlet调用java类时出错了,你们帮我看看嘛