الانتقال إلى المحتوى
View in the app

A better way to browse. Learn more.

مجموعة مستخدمي أوراكل العربية

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

اعطاء قيمة لعمود عند حدوث تعديل فى الصفحة

Featured Replies

بتاريخ:

عندى شاشة Master_Details    عند اجراء اى تعديل سواء على ال Master   او ال Details    اقوم بتغيير قيمة عمود فى ال Master   مثلا حقل  userUpId

بتاريخ:

لم أفهم

بتاريخ:
  • كاتب الموضوع

 عندى شاشة Master_Details   المطلوب   عند اجراء اى تعديل فى اى حقل سواء على ال Master   او ال Details    اقوم بتغيير قيمة عمود فى ال Master   مثلا حقل  userUpId     ياخذ قيمة ال مستخدم الحالى

بتاريخ:

حسناً اكتب الكود في doDML

بتاريخ:
  • كاتب الموضوع

يتم تسجيل ال Master   اولا     وتعتبر حال اضافة    وبيتم الحفظ

ثم يتم التسجيل فى ال Details   بزرار اضافة اخر  ويتم الحفظ        هنا يتم تنفيذ الكود فى ال doDMl  لل Master    ويعطى قيمة للمتغير المطلوب    بالرغم ان هنا ليم يتم التعديل    وهذا خطأ

 

ارجو ان اكون وضحت المشكلة

بتاريخ:

إذن تأكد من حدوث تعديل

بتاريخ:
  • كاتب الموضوع

كيف اتأكد

بتاريخ:

if ( operation == DML_UPDATE )

بتاريخ:
  • كاتب الموضوع

تمام يا باشمهندس     if ( operation == DML_UPDATE )

 
هذا لل Master    اذا نفذها   لا بد ان يكون قد طرأ تعديل على ال Master   فقط            أم يمر عليها فى حالة الادخال فى  ال Details  ايضا    هذه النقطة هامة جدا  فأرجو التوضيح؟
بتاريخ:
  • كاتب الموضوع

شكرا يا باشمهندس تم الحل  عن طريق           valueChangeListener       للحقول التى يتم فيها التعديل   وهناك قمت بإعطاء القيمة للعمود المراد تحديثه     

بتاريخ:

 

تمام يا باشمهندس     if ( operation == DML_UPDATE )

 
هذا لل Master    اذا نفذها   لا بد ان يكون قد طرأ تعديل على ال Master   فقط            أم يمر عليها فى حالة الادخال فى  ال Details  ايضا    هذه النقطة هامة جدا  فأرجو التوضيح؟

 

يجب عملها في master وفي detail

بتاريخ:

شكرا يا باشمهندس تم الحل  عن طريق           valueChangeListener       للحقول التى يتم فيها التعديل   وهناك قمت بإعطاء القيمة للعمود المراد تحديثه     

ممكن أيضاً

بتاريخ:
  • كاتب الموضوع

بالنسبة         if ( operation == DML_UPDATE )

 

المشكلة فى المتغير  userid   موجود فى الصفحة  ومش عارف اوصلة ازاى لل EntityEmpl    للجدول ال Master

 

لذلك اتجهت   لل    valueChangeListener       حيث المتغير موجود هنا  وسهل التعامل معاها
 
وهل هناك طريقة   لاخذ المتغير   من الصفحةالى EntityEmpl   
 
حاولت استخدم عمود Transient   ولكن لو اعطيته قيمة يعتبر تعديل  ويروح ينفذ DML_Update   وهذا لا يعبر عن تغيير حقيقى
بتاريخ:

متغير يأتي من أين؟

بتاريخ:
  • كاتب الموضوع

يمرر من شاشة ال login الى الصفحات التالية

بتاريخ:

ضعه في session ثم استخدمه متى ما أردت

بتاريخ:
  • كاتب الموضوع

هى المشكلة كيف استخدمه فى Entityempl

بتاريخ:

لا توجد أي مشكلة

تستطيع كتابة كود يقوم بالإرجاع من session داخل EntityImpl

بتاريخ:
  • كاتب الموضوع

المتغير فى الصفحة 

import LOG_JD.ContollerBean.UserInfo;

 

 

    UserInfo user = (UserInfo)FacesContext.getCurrentInstance().getExternalContext().getSessionMap().get("userKey") ;
          
         String userName=user.getUserName();

int userid=user.getUserId().intValue();

 

 

 

 

 

    public void setUser(UserInfo user) {
        this.user = user;
    }
 
    public UserInfo getUser() {
        return user;
    }
 
    public void setUserName(String userName) {
        this.userName = userName;
    }
 
    public String getUserName() {
        return userName;
    }
 
    public void setUserid(int userid) {
        this.userid = userid;
    }
 
    public int getUserid() {
        return userid;
    }
 
 
بالنسبة لل Entity empl   
الكود ؟؟
بتاريخ:

نفس ما كتبت

 

 

    UserInfo user = (UserInfo)FacesContext.getCurrentInstance().getExternalContext().getSessionMap().get("userKey") ;
          
         String userName=user.getUserName();

int userid=user.getUserId().intValue();

 

    UserInfo user = (UserInfo)FacesContext.getCurrentInstance().getExternalContext().getSessionMap().get("userKey") ;
          
         String userName=user.getUserName();

int userid=user.getUserId().intValue();

 

 

 

بتاريخ:
  • كاتب الموضوع

جزاك الله كل خير

بتاريخ:

وإياكم إن شاء الله

انضم إلى المناقشة

يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.

زائر
أضف رد على هذا الموضوع...

برجاء الإنتباه

بإستخدامك للموقع فأنت تتعهد بالموافقة على هذه البنود: سياسة الخصوصية

Account

Navigation

البحث

إعداد إشعارات المتصفح الفورية

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.