站内搜索: 请输入搜索关键词

当前页面: 开发资料首页JSP 专题页面有多条记录,如何实现点击一个'保存',就能逐条存入数据库?

页面有多条记录,如何实现点击一个'保存',就能逐条存入数据库?

摘要: 页面有多条记录,如何实现点击一个'保存',就能逐条存入数据库?


请教大家在做网上订购图书的问题.

我有一个图书表,表中有很多的图书信息,我用下面的程序将图书表中的信息逐条显示在页面上.

当客户选中某行前面的 checkbox 之后,表示当前记录被选中...

当客户选中一些 checkbox 之后,点击下面的 放入购物车 就能实现将其选中了的 checkbox 的哪条记录逐行保存到数据库呢???

我的思路是想用 for 循环 逐行保存每条记录,可是不太熟悉 for 循环怎么写?

大家有什么好的思路吗?

谢谢!!!

<table>
<%
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
String url = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=tushu";
String user = "sa";
String password = "";
Connection conn = DriverManager.getConnection(url,user,password);
Statement stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql = "select * from tblZk";
ResultSet rs = stmt.executeQuery(sql);
while(rs.next())
{
%>
<tr>
<td><input type="checkbox" value="<%=rs.getString("id")%>" onclick="myClick();"></td>
<td><input type="text" name="fs" value="份数" size="3" maxlength="3" disabled />
<td><input type="text" name="id" value="<%=rs.getString("id")%>"></td>
<td><input type="text" name="mc" value="<%=rs.getString("mc")%>"></td>
<td><input type="text" name="dh" value="<%=rs.getString("dh")%>"></td>
<td><input type="text" name="dj" value="<%=rs.getString("dj")%>"></td>
<td><input type="text" name="cbss" value="<%=rs.getString("cbss")%>"></td>
<td><input type="text" name="nrjj" value="<%=rs.getString("nrjj")%>"></td>
</tr>
</table>

<input class="colorButton" type="submit" name="cartButton" value="放入购物车">


<%
}
rs.close();
stmt.close();
conn.close();
%>


接分了



String [] ids = request.getParameterValues("id");
String [] mcs= request.getParameterValues("mc");
String [] dhs= request.getParameterValues("dh");
.....

if(ids==null)
throw new Exception("没有传入任何需要修改的记录");
for(int i=0; i service.update(ids[i], mcs[i], dhs[i]); //逐条个修改
}


逐条提交效率是不是太低了点,建议采用批量更新,executeBatch


是这样的吗:

order.jsp

<form action="orderResult.jsp" method="post" name="orderForm">
<table>
<%
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
String url = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=tushu";
String user = "sa";
String password = "";
Connection conn = DriverManager.getConnection(url,user,password);
Statement stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql = "select * from tblZk";
ResultSet rs = stmt.executeQuery(sql);
while(rs.next())
{
%>
<tr>
<td><input type="checkbox" value="<%=rs.getString("id")%>" onclick="myClick();"></td>
<td><input type="text" name="fs" value="份数" size="3" maxlength="3" disabled />
<td><input type="text" name="id" value="<%=rs.getString("id")%>"></td>
<td><input type="text" name="mc" value="<%=rs.getString("mc")%>"></td>
<td><input type="text" name="dh" value="<%=rs.getString("dh")%>"></td>
<td><input type="text" name="dj" value="<%=rs.getString("dj")%>"></td>
<td><input type="text" name="cbss" value="<%=rs.getString("cbss")%>"></td>
<td><input type="text" name="nrjj" value="<%=rs.getString("nrjj")%>"></td>
</tr>
</table>

<input class="colorButton" type="submit" name="cartButton" value="放入购物车">


</form>
<%
}
rs.close();
stmt.close();
conn.close();
%>


orderSaveResult.jsp:
<%
String [] ids = request.getParameterValues("id");
String [] mcs= request.getParameterValues("mc");
String [] dhs= request.getParameterValues("dh");
...

if(ids==null)
throw new Exception("没有传入任何需要修改的记录");
for(int i=0; i service.update(ids[i], mcs[i], dhs[i]); //逐条个修改
}
... (此处不太明白!)

%>


orderSaveResult.jsp:

<%@ page contentType="text/html;charset=GBK" language="java" %>

<%@ page import="java.sql.*" %>
<%@ page import="web.*" %>






-- 保存的 javaBean

<%
addOrder.addOrder(addBean);
%>




批量更新,executeBatch ???

能给个例子吗?


已经给你发过消息了,挺简单的东西,自己看看api


有关于 executeBatch 的例子吗?


↑返回目录
前一篇: tomcat设置虚拟目录的怪问题
后一篇: 关于JSP访问数据库读取空记录或者一条记录中的空数据报错的问题,真的想系统了解这方面的知识!~!~!~!~!