----------------------------------------------
 车型  试驾量  订单量  交车量  在库量  可供量 
[一型]  ____    _____   ____    ____    ____
[二型]  ____    _____   ____    ____    ____
[三型]  ____    _____   ____    ____    ____-------------------------------------- ---------                     
                                         [提交]
上表是 计划报表,其中“车型”是动态显示出来的,不同的用户进入该报表,会显示出不同的车型,用户要填写“____”各信息,然后 提交 到数据库。  报表 存进数据库,应是一个二维表,就是按照“车型”来保存记录。上面的表有三种“车型”,用户填完数据 提交后,数据库要有三条记录的:“一型”的信息;“二型”的信息;“三型”的信息,分别做为三条记录来保存。--》就是同时要提交多个记录保存在数据库里,这个存储过程怎么写啊??
我的QQ:405267422

解决方案 »

  1.   

    你的参数是不定的,存储过程不好写
    直接动态形成SQL语句,在一个事务里执行就行了
      

  2.   

    假设JSP形成的HTML如下(同一列的name相同):<form action="xxx">
    <table><tr>
    <td>车型</td>
    <td>试驾量</td>
    <td>订单量</td>
    <td>交车量</td>
    <td>在库量</td>
    <td>可供量</td>
    </tr><tr>
    <td>[一型]<input type="hidden" name=types value=1></td>
    <td><input type="text" name=aa value=1></td>
    <td><input type="text" name=bb value=1></td>
    <td><input type="text" name=cc value=1></td>
    <td><input type="text" name=dd value=1></td>
    <td><input type="text" name=ee value=1></td>
    </tr><tr>
    <td>[2型]<input type="hidden" name=types value=2></td>
    <td><input type="text" name=aa value=1></td>
    <td><input type="text" name=bb value=1></td>
    <td><input type="text" name=cc value=1></td>
    <td><input type="text" name=dd value=1></td>
    <td><input type="text" name=ee value=1></td>
    </tr></table>
    </form>提交时的处理方法(示意性代码,没考虑错误处理):
    String[] types = request.getParameterValues("types");
    String[] aa= request.getParameterValues("aa");
    String[] bb= request.getParameterValues("bb");
    String[] cc= request.getParameterValues("cc");
    String[] dd= request.getParameterValues("dd");
    String[] ee= request.getParameterValues("ee");StringBuffer sql=new StringBuffer();
    for (int i=0; i<types.length; i++)
    {
      sql.append("insert into TableName values(");
      sql.append(types[i]).append(",");
      sql.append(aa[i]).append(",");
      sql.append(bb[i]).append(",");
      sql.append(cc[i]).append(",");
      sql.append(dd[i]).append(",");
      sql.append(ee[i]);
      sql.append(")\n"); 
    }
    //execute sql
    Statement stmt = ...
    stmt.executeUpdate(sq.toString());