m0_67345796 2023-04-19 22:05 采纳率: 44.4%
浏览 17
已结题

如何动态储存每行的id到session连接数据库添加到表

这是点完成可以获取订单的id的页面


<%@ page language="java" import="java.util.*,java.sql.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>My JSP 'pc2.jsp' starting page</title>
    
    <meta http-equiv="pragma" content="no-cache">
    <meta http-equiv="cache-control" content="no-cache">
    <meta http-equiv="expires" content="0">    
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    <meta http-equiv="description" content="This is my page">
    

  </head>
  
  <body>
<% request.setCharacterEncoding("utf-8");
 String pcid="";

     String title=request.getParameter("title");
  Class.forName("com.mysql.jdbc.Driver"); //加载驱动程序类
Connection conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/jz?useSSL=false","root","root");
Statement pstmt=conn.createStatement();
ResultSet rs=pstmt.executeQuery("select * from dd where zt=1 ");%>
<center> <table border="1px"> <br>
<span><button style="float:right"><a href="pc1.jsp">查看</a></button></span>
<br><tr><td>编号</td><td>账号</td><td>电话</td><td>地址</td><td>时间</td><td>类目</td><td>金额</td><td>备注</td><td>状态</td><td>操作</td></tr>
<% while(rs.next()){
pcid=rs.getString(1);
%>

<tr><td><%=rs.getString(1) %></td><td><<%=rs.getString(2) %>"></td><td><<%=rs.getString(3) %>"></td><td><<%=rs.getString(4) %>"></td><td><%=rs.getString(5) %></td>
<td><%=rs.getString(6) %></td><td><%=rs.getString(7) %></td><td><%=rs.getString(8) %></td><td><%if(rs.getInt("zt")==0){out.print("未接单");}else{out.print("已接单");} %></td>
<td> <a href="sc.jsp?pcid=<%=pcid%>">完成</a></td> </tr>
<%}%> 
</table></center>
<% 
rs.close();

conn.close();
%>


  </body>
</html>

这是sc.jsp

<body>
  <% request.setCharacterEncoding("utf-8");
 String pcid="";
 %>

<FORM METHOD="post" ACTION="sc1.jsp">
商 品 图片:<INPUT TYPE="file" NAME="image">
<INPUT TYPE="submit" value="提交"></form> <% session.setAt ```java 这是后台操作页面连接数据库添加记录到表 <body> <% request.setCharacterEncoding("utf-8"); String id=request.getParameter("id"); String i=(String)session.getAttribute("pcid"); String filename=request.getParameter("image"); FileInputStream str= new FileInputStream(filename); Class.forName("com.mysql.jdbc.Driver"); //加载驱动程序类 Connection con=DriverManager.getConnection("jdbc:mysql://localhost:3306/jz?useSSL=false","root","root"); PreparedStatement pstmt=con.prepareStatement("insert into pc values(?,?,?)"); pstmt.setString(1,id); pstmt.setString(2,i); pstmt.setBinaryStream(3,str,str.available()); int a=pstmt.executeUpdate(); //将数据存入数据库 if(a!=0){ request.getRequestDispatcher("pc1.jsp?title="+id+"").forward(request,response); } %> </body> </html>
  • 写回答

1条回答 默认 最新

  • ChatGPTᴼᴾᴱᴺᴬᴵ 2023-04-19 22:24
    关注

    该回答引用ChatGPT-3.5

    为了动态储存每行的id到session连接数据库添加到表,可以在pc2.jsp页面的完成按钮的链接中添加一个参数,该参数值为订单id,如下所示:

    <a href="sc.jsp?pcid=<%=pcid%>">完成</a>
    

    然后,在sc.jsp页面中,可以使用以下代码从请求参数中获取订单id,并将其存储到session中:

    <% 
    String pcid = request.getParameter("pcid");
    session.setAttribute("pcid", pcid);
    %>
    

    在这之后,当用户提交表单时,可以从session中获取之前存储的订单id,将其与用户提交的其他表单数据一起添加到数据库中。这个功能可以在sc1.jsp页面中实现。可以使用以下代码从session中获取订单id:

    String i = (String)session.getAttribute("pcid");
    

    然后,将获取的订单id与用户提交的其他表单数据一起添加到数据库中,如下所示:

    PreparedStatement pstmt = con.prepareStatement("insert into pc values(?,?,?)");
    pstmt.setString(1, id);
    pstmt.setString(2, i);
    pstmt.setBinaryStream(3, str, str.available());
    int a = pstmt.executeUpdate();
    

    这个例子中,假设订单id存储在名为"pcid"的session属性中,而订单id和其他表单数据都将插入名为"pc"的表中。同时,插入的记录包括三个字段:id、pcid和image。其中,image字段是二进制类型,表示用户提交的图片数据。在这个例子中,图片数据是从名为"image"的表单字段中获取的,其数据类型为文件流。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 4月27日
  • 已采纳回答 4月19日
  • 创建了问题 4月19日

悬赏问题

  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
  • ¥15 ETLCloud 处理json多层级问题
  • ¥15 matlab中使用gurobi时报错
  • ¥15 这个主板怎么能扩出一两个sata口
  • ¥15 不是,这到底错哪儿了😭
  • ¥15 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么