الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

مشكلة في استخدام الwhile في الinsert

بدأه قمر الامارات في 25 مايو 2011 · 1 رد · 420 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

عندي مشكلة في ادخال البيانات ... يعني ابا اسوي 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]

تم تعديل هذه المشاركة بواسطة قمر الامارات في 25 مايو 2011 في 13:43

#2

لا تنقلي ResultSet في جلسة العمل

وإنما إنقلي كائن عادي

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

مواضيع مشابهة