如何把订单中查出的这条数据添加到评价表里

这是订单完成页面

 <body>
<% request.setCharacterEncoding("utf-8");
String upid="";
      String name=request.getParameter("name"); 
Class.forName("com.mysql.jdbc.Driver");
 Connection con=DriverManager.getConnection("jdbc:mysql://localhost:3306/jz?useSSL=false","root","root");
      PreparedStatement pt=con.prepareStatement("select * from dd where name=?",ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
      pt.setString(1,name);
      
      ResultSet rs=pt.executeQuery();
      %>
       <center><table border="1px"> 
       <h3 class="panel-title text-center">您的订单</h3>
     <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()){
upid=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="wc.jsp?upid=<%=upid%>">完成</a></td></tr>
<%}%> 
</table></center>
<% 
rs.close();
 
con.close();%>
  </body>


这是执行页面,如何把订单中查出的这条数据添加到评价表里


 <body>
    <%     request.setCharacterEncoding("utf-8");
         String i=request.getParameter("upid");
   session.setAttribute("id",i);
   String name = request.getParameter("name");
  String dh=request.getParameter("dh");
  String dz=request.getParameter("dz");
   String sj=request.getParameter("sj");
   String num=request.getParameter("num");
   String je=request.getParameter("je");
   String bz=request.getParameter("bz");
      Class.forName("com.mysql.jdbc.Driver");//加载驱动   
       Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/jz?useSSL=false","root","root");
      PreparedStatement pStmt=conn.prepareStatement("select * from dd where id=?");  
pStmt.setString(1, i);
       ResultSet rs = pStmt.executeQuery(); 
 PreparedStatement tmt = conn.prepareStatement("insert into pj values(?,?,?,?,?,?,?)");  
 tmt.setString(1, i);
 tmt.setString(2,name);
tmt.setString(3,dh);
tmt.setString(4,dz);
tmt.setString(5,sj);
tmt.setString(6,je);
tmt.setString(7,bz);
int rst=tmt.executeUpdate();  
 if (rst!= 0){  request.getRequestDispatcher("wcdd.jsp?title="+i+"").forward(request,response);
}
                         
     
%>
 

只有订单编号其它数据为空,是数据没登记进去吗?检查登记订单的代码。
或者使用这个方式,只执行一条语句:
insert into pj select xxx from dd where id=?
xxx就是与评价表结构对应的订单字段列表,与普通查询一样写。

是报错还是什么情况呢

PreparedStatement pt=con.prepareStatement("select * from dd where name=?",ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
pt.setString(1,name);
ResultSet rs=pt.executeQuery();

要把这个数据添加到评价表中,可以使用以下的SQL语句:

PreparedStatement tmt = conn.prepareStatement("insert into pj values(?,?,?,?,?,?,?)");  
tmt.setString(1, upid); // upid是订单中查出的数据的编号
tmt.setString(2, name);
tmt.setString(3, dh);
tmt.setString(4, dz);
tmt.setString(5, sj);
tmt.setString(6, je);
tmt.setString(7, bz);
int rst = tmt.executeUpdate();

参数1到参数7分别对应评价表的7个字段,如果返回的结果不为0,则表示添加成功。
 
如果答案对您有所帮助,望采纳。