بتاريخ: 20 يونيو 20169 سنة comment_276090 هذه الرسالة تظهر oracle.jbo.TooManyObjectsException: JBO-25013: توجد كائنات كثيرة للغاية تطابق المفتاح الأساسي oracle.jbo.Key[11 01/01/2016-31/12/2016 25210 ]. BEGIN SELECT exp_date,prod_id,QUN_IN,QUN_OUT,B_STOCK,NVL(B_STOCK,0)+NVL(QUN_IN,0)+NVL(QUN_OUT,0) bal,CODE INTO ?,?,?,?,?,?,? from PRODUCT WHERE PROD_ID_UP=? AND trim(b_no)=trim(?) AND COM_ID=?; END ; الكود public void GetEXP_DATE_action(String b_no) { setINS_UP_YN(1); boolean result8=true; String PlSQLCode8 ="BEGIN\n" + "SELECT exp_date,prod_id,QUN_IN,QUN_OUT,B_STOCK,NVL(B_STOCK,0)+NVL(QUN_IN,0)+NVL(QUN_OUT,0) bal,CODE INTO \n" + "?,?,?,?,?,?,? \n" + "from PRODUCT\n" + " WHERE PROD_ID_UP=?\n" + " AND trim(b_no)=trim(?)\n" + "AND COM_ID=?;\n"+ "END ;\n"; CallableStatement stat8; stat8=null; try { stat8=getDBTransaction().createCallableStatement(PlSQLCode8,getDBTransaction().DEFAULT); stat8.registerOutParameter(1, Types.DATE); System.out.println("after DATE"); stat8.registerOutParameter(2, Types.INTEGER); System.out.println("after INTEGER"); stat8.registerOutParameter(3, Types.NUMERIC); System.out.println("after numeric1"); stat8.registerOutParameter(4, Types.NUMERIC); stat8.registerOutParameter(5, Types.NUMERIC); stat8.registerOutParameter(6, Types.NUMERIC); stat8.registerOutParameter(7, Types.CHAR); stat8.setInt(8,((Number) getProdIdUp()).intValue()); System.out.println("after getProdIdUp "+getProdIdUp().intValue()); stat8.setString(9,b_no); System.out.println("after b_no "+b_no); System.out.println("comid "+ ((Number)getAddProdH().getComId()).intValue()); stat8.setInt(10,((Number)getAddProdH().getComId()).intValue()); result8=stat8.execute(); System.out.println("after rsult8 "+result8); setEXP_DATE(new Date (stat8.getDate(1))); System.out.println("after setEXP_DATE "+getEXP_DATE()); setProdId(new Number (stat8.getInt(2))); System.out.println("after setProdId" ); setQUN_IN(stat8.getBigDecimal(3)) ; setQUN_OUT(stat8.getBigDecimal(4)) ; setB_STOCK(stat8.getBigDecimal(5)); setBAL(stat8.getBigDecimal(6)); setITEM_CODE(stat8.getString(7)); stat8.clearParameters(); } catch (Exception e8) { // TODO: Add catch code System.out.println("eeeeeeeeeeee"+result8); System.out.println("eeeeeeeeeee"+e8); System.out.println("hhhhhhhhhhh"+PlSQLCode8); e8.printStackTrace(); } finally { try { stat8.close(); } catch (Exception e8) { // TODO: Add catch code e8.printStackTrace(); } } } تقديم بلاغ
بتاريخ: 21 يونيو 20169 سنة كاتب الموضوع comment_276101 شكرا يا باشمهندس قمت ببعض التعديلات فظهر خطأ جديد ORA-01745: اسم متغير الربط/المضيف غير صحيح public void GetEXP_DATE_action(String b_no) { setINS_UP_YN(1); boolean result8=true; String PlSQLCode8 ="SELECT exp_date,prod_id,QUN_IN,QUN_OUT,B_STOCK,NVL(B_STOCK,0)+NVL(QUN_IN,0)+NVL(QUN_OUT,0) bal,CODE \n" + "into ?,?,?,?,?,?,?\n"+ "from PRODUCT\n" + " WHERE \n" + "PROD_ID_UP=? AND\n" + "trim(b_no)= ? AND\n" + " COM_ID=?;"; CallableStatement stat8; stat8=null; try { stat8=getDBTransaction().createCallableStatement(PlSQLCode8,getDBTransaction().DEFAULT); stat8.registerOutParameter(1, Types.DATE); System.out.println("after DATE"); stat8.registerOutParameter(2, Types.INTEGER); System.out.println("after INTEGER"); stat8.registerOutParameter(3, Types.NUMERIC); System.out.println("after numeric1"); stat8.registerOutParameter(4, Types.NUMERIC); stat8.registerOutParameter(5, Types.NUMERIC); stat8.registerOutParameter(6, Types.NUMERIC); stat8.registerOutParameter(7, Types.VARCHAR); stat8.setObject(8,((Number) getProdIdUp()).intValue()); System.out.println("after getProdIdUp "+getProdIdUp().intValue()); stat8.setObject(9,b_no); System.out.println("after b_no "+b_no); System.out.println("comid "+ ((Number)getAddProdH().getComId()).intValue()); stat8.setObject(10,((Number)getAddProdH().getComId()).intValue()); result8=stat8.execute(); System.out.println("after rsult8 "+result8); setEXP_DATE(new Date (stat8.getDate(1))); System.out.println("after setEXP_DATE "+getEXP_DATE()); setProdId(new Number (stat8.getInt(2))); System.out.println("after setProdId" ); setQUN_IN(stat8.getBigDecimal(3)) ; setQUN_OUT(stat8.getBigDecimal(4)) ; setB_STOCK(stat8.getBigDecimal(5)); setBAL(stat8.getBigDecimal(6)); setITEM_CODE(stat8.getString(7)); stat8.clearParameters(); } catch (Exception e8) { // TODO: Add catch code System.out.println("eeeeeeeeeeee"+result8); System.out.println("eeeeeeeeeee"+e8); System.out.println("hhhhhhhhhhh"+PlSQLCode8); e8.printStackTrace(); } finally { try { stat8.close(); } catch (Exception e8) { // TODO: Add catch code e8.printStackTrace(); } } } تقديم بلاغ
بتاريخ: 21 يونيو 20169 سنة comment_276102 هل يمكنك كتابة الرسالة باللغة الإنجليزية؟ الترجمة العربية ليست دقيقة تقديم بلاغ
بتاريخ: 21 يونيو 20169 سنة كاتب الموضوع comment_276114 رجع الخطأ الاول eeeeeeeeeeeoracle.jbo.TooManyObjectsException: JBO-25013: توجد كائنات كثيرة للغاية تطابق المفتاح الأساسي oracle.jbo.Key[11 01/01/2016-31/12/2016 25210 ]. تقديم بلاغ
بتاريخ: 21 يونيو 20169 سنة كاتب الموضوع comment_276117 شكرا يا باشمهندس بالفعل قمت باعطاء قيمة لمتغير ال عليه ال validation وبينفذ امر select وبيرجع id هذا ال id ضمن ال primary key للجدول المصاحب وانا كنت بنفذها فى ال 10g بكود لو حدث تكرار ادخال لمتغير b_no وهنا انا غير محتاج لهذا الكود لو حدث هذه الخطا اعطى رسالة فقط تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.