السلام عليكم
عندي مشكلة في ادخال البيانات ... يعني ابا اسوي insert لكل ال products اللي في الcart
انا اسوي insert لمعلومات الorder بشكل عام يعني وهذي تشتغل بطريقة صحيحة <<<< date - total_price - Cust_ID
بس المشكلة لما احاول اسوي insert ل لكل product في cart في جدول الorder_Pro
انا استخدمت الwhile
بس تتطلع عندي هال error
اقتباسjava.sql.SQLException: Operation not allowed after ResultSet closed
كيف اقدر احل المشكلة ؟؟؟ هل استخدم شي ثاني غير الwhile ؟؟؟
هذا الكود :
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.sql.*;
import javax.servlet.RequestDispatcher;
import javax.servlet.http.HttpSession;
/**
*
* @author 2006****
*/
public class addtoOrder extends HttpServlet {
/**
* Processes requests for both HTTP <code>GET</code> and <code>POST</code> methods.
* @param request servlet request
* @param response servlet response
* @throws ServletException if a servlet-specific error occurs
* @throws IOException if an I/O error occurs
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
// Get User Inputs
String Cust_ID = request.getParameter("Cust_ID");
String order_date = request.getParameter("date");
String total_price = request.getParameter("totalprice");
HttpSession session = request.getSession();
ResultSet resultSet1 = (ResultSet) session.getAttribute("resultSet");
System.out.println(resultSet1);
//Connect to Database
Connection con = null;
Statement stmt = null;
Statement stmt1 = null;
String databaseURL = "jdbc:mysql://localhost:3306/fashion";
String driverName = "com.mysql.jdbc.Driver";
String user = "root";
String pass = "root";
try {
Class.forName(driverName).newInstance();
con = DriverManager.getConnection(databaseURL, user, pass);
stmt = con.createStatement();
stmt1 = con.createStatement();
} catch (Exception e) {
System.out.println("ERROR Connecting to DB: " + e);
return;
}
try {
// Insert order
String insertStmt = "insert into `order` values ("
+ null + ","
+ Cust_ID + ", "
+ total_price + ", "
+ "'" + order_date + "'"
+ ")";
System.out.println(insertStmt);
stmt.executeUpdate(insertStmt);
System.out.println("******************************************");
String selStmt = " SELECT max(Order_ID) FROM `order` WHERE Cust_ID= " + Cust_ID + "";
while (resultSet1.next()) {
Integer Pro_ID = (Integer) resultSet1.getObject("Pro_ID");
Integer price = (Integer) resultSet1.getObject("Pro_Price");
Integer Quantity = (Integer) resultSet1.getObject("Cart_Quantity");
Integer size = (Integer) resultSet1.getObject("size");
System.out.println("******************************************");
String insertStmt1 = "insert into order_pro values ("
+ selStmt + ","
+ Cust_ID + ", "
+ Pro_ID + ", "
+ size + ", "
+ Quantity + ", "
+ price
+ ")";
System.out.println(insertStmt1);
stmt1.executeUpdate(insertStmt1);
}
} catch (Exception e) {
System.out.println("ERROR: Insert into DB: " + e);
return;
}
RequestDispatcher dispatcher =
getServletContext().getRequestDispatcher("/payment.jsp");
dispatcher.forward(request, response);
//Close database
try {
stmt.close();
con.close();
} catch (SQLException e) {
System.out.println("Workshop Register: ERROR: closing DB connection: " + e);
}
}
}
[code]