الانتقال إلى المحتوى
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.

كيفية عمل Bind Variable في ال Jdeveloper

Featured Replies

بتاريخ:

hالسلام عليكم شباب
أنا عملت query على view
وعملت قي where statment
Bind Vraiable


االسؤال هو كيفية ربط الBind Variable بمتغير من شاشة أخرى يكون المستخدم أدخله
مثلا ربط الBind variable برقم المستخدم من شاشة الدخول؟؟

وشكرا لكم

  • الردود 41
  • المشاهدات 10.5k
  • البداية
  • اخر رد

أكثر المشاركين في هذا الموضوع

Most Popular Posts

  • من ناحية اظهار المجموع او عمل Summary Cloumn فالحقيقه عندك طرق كتير منها طريقه عمل Transiet attribute ومنها فى ال get Method الخاصة به حتحدد النتيجه بتاعته حتاخدها منين ولو عاوز مثال عملى على الكلا

الصور المنشورة

بتاريخ:

في شاشة الدخول ضع رقم المستخدم في session وليكن اسم المتغير هو userId.
اذهب للـ view object ثم اضغط مرتين على الـ bind variable.
في value type اختر expression وفي value اكتب
javax.faces.context.FacesContext.getCurrentInstance().getExternalContext().getSessionMap().get("userId")

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

شكرا sd4it على ردك وتجاوبك معي
ولكن كيف أضع إسم المستخدم في session ؟

و وشكرا لك

بتاريخ:

اكتب السطر التالي
javax.faces.context.FacesContext.getCurrentInstance().getExternalContext().getSessionMap().put("userId", "value")

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

مرة أخرى شكرا لك sd4it على مساعدتك لي
بعد وضع الكود ظهرت لي هذه الجملة بعد ما عملت تشغيل لصفحة الدخول
وعملت دخول بنجاح وذهبت للصفحة التالية


Variable userName not recognized

مع العلم أن شاشة الدخول عندي تستخدم المتغيرين التاليين
userName, password

وشكرا لك

تم تعديل بواسطة a5hhk

بتاريخ:

أين قمت بتعريف هذا المتغير في الـ View Object. أرسل شكل الشاشة وشكل الخطأ بالإضافة إلى الـ Log

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

شكرا مهندس مصطفى مرة أخرى
قمت بشرح جميع الخطوات التي عملتها في ملف وود
لأنني أجد صعوبة في وضع الصور في النتدى
وشكرا لك

error_screen.doc

بتاريخ:

يوجد خطئان.
الخطأ الأول أنه في شاشة الدخول لم تقم بوضع قيمة اسم المستخدم في session ولذلك ضع السطر التالي
javax.faces.context.FacesContext.getCurrentInstance().getExternalContext().getSessionMap().put("userName", userName)

الخطأ الثاني أنه عندما كتبت الـ expression في الـ view object فلم تضع الكلمة userName بين علامتي تنصيص quotations مثل السطر التالي
javax.faces.context.FacesContext.getCurrentInstance().getExternalContext().getSessionMap().get("userName")

صحح الخطئين وبإذن الله ستحل المشكلة

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

شكرا جزيلا جزيلا مهندس مصطفى على مساعدتك لي مرة أخرى
وقد إنحلت المشكلة أخيرا بفضل الله ثم بمساعدتك لي
ولكي نكون في الصورة ياريت تشرح لينا الكود ؟

وأيضا كيف أعمل الحقل الذي فيه Bind Variable غير مرئي لكي لا يمكن المستخدم من تحديثه؟

وسؤال أخير كيف يمكنني أن أكبر الحقول لأنها تأني بشكل صغير جدا؟


وفي النهاية شكرا لك مرة أخرى أستاذي

بتاريخ:

في ADF (ومن قبله JSF) توجد مكتبات جاهزة للتعامل مع session كما كتبته في السطر الذي أرسلته لك ولذلك ليس فيه الشرح بقدر المعرفة حيث لا بد أن تعرف المكتبات الموجودة للتعامل مع session.
لإخفاء bind variable فاذهب إلى view object ثم اضغط مرتين على تعريف الـ bind variable ثم اذهب إلى التبويب Control Hints وفي display Hint اختر Hide.
لتكبير الحقول استخدم الخاصية Columns للحقل واكتب فيها حجم الحقل كما تريد

تم تعديل بواسطة sd4it

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

شكرا مهندس مصطفى على تجاوبك السريع معي
ولكن عملت في dispaly hint
Hide ولكن في التشغيل لم تختفي ال bind variable?

وبالنسبة للحقول نعم لقد كبرت ولكن أفقيا فقط من خلال width
فمالطريقة لكبيرها عموديا أيضا؟

وسؤال أخير ولو كثرت عليك أستاذي:
عملت في search متغيرين username والذي نقرأه من session
ومتغير ثاني Date ولكن عند الضغط غلى calendar تأتي هذه رسالة الخطأ:
java.lang.illegalArgumentException:cannot cnver 2010-10-19 of type class oracle.jbo.domain Dates to class java.sql Timstamp
ADF_FACES-60097

فماالحل لهذا الخطأ؟

وشكرا لك أستاذي

بتاريخ:

أرسل شكل الشاشة وشكل الـ bind variable حتى يمكن التأكد من صحة الخطوات.
لتكبير الحقول عمودياً فاستخدم الخاصية rows.
تأكد من نوع المتغير Date

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

لقد أرسلت الشاشة مع شكل Bind Variable في الملف المرفق

ولقد تأكدت من نوع المتغير وهو Date
المشكلة تظهر عند إعادة إستخدام الCalendar
يعني في أول مرة لا توجد مشاكل ولكن عند تغيير التاريخ مرة أخرى تظهر لي رسالة الخطأ


أين أجد خاصية rows لأنني بحثت عمها ولم أجدها


شكرا مرة أخرى أستاذي الفاضل

adf_screen.doc

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

لقد إنحلت مشكلة الcalaendar بعد ما غيرت نوع Bind Variavle من Date إلى Timestamp

وخاصية rows وجدتها في Appearance
ولكن فقط في خاصية الحقول Input Text
ولكن في search result لا توجد هذه الخاصية

بتاريخ:

ما يظهر في الصفحة هو الحقل Customer Name ولكن الـ bind variable هو CUSTOMER_ID وبالتالي لا علاقة لهم ببعض.
أي حقل يمكنك تغيير أي خصائص له من خلال الـ skinning

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

ما هي الطريقة لإخفاء الحقل Customer Number الذي يظهر في الصفحة
لاأريد المستخدم أن يرى أو على الأقل أن لا يعدل في هذا الحقل

وشكرا لك

بتاريخ:

لا تقم بإضافته في الـ query component

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

أستاذي الفاضل مهندس / مصطفى
الفكرة من البداية كانت تمرير إسم المستخدم والذي هو نفسه Customer Number من شاشة الدخول إلى شاشة البحث
وهو ما قد حصل بإستخدامنا session

والآن في شاشة البحث لا أريد المستخدم أن يعدل أو أن يرى Customer Number الذي هو جزء من عملية البحث

وشكرا لك

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

الحمد لله إنحلت المشكلة وقد حذفته من query component
شكرا لك أستاذنا و لا ننحرم من مساعدتك لنا

عندي سؤلان آخران:
في شاشة الدخول بعد إدخال إسم المستخدم وكلمة المرور , أريد المستخدم أن يضغط enter من دون إستخدام الماوس؟

عندي عمود عبارة عن أرقام أو مثلا درجات الطلاب وأريد إظهار المجموع في أسفل حقل الدرجات

وشكرا لك

بتاريخ:

استخدام الخاصية defaultCommand للـ form وضع فيها id الزر الذي تريد تنفيذه عند الضغط على الزر enter.
يمكنك إضافة transient variable في الـ view object ثم بإضافة SQL عليه تقوم بحساب ما تشاء

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

هل من الممكن أن تشرح لنا أستانا أكثر عن default command
و عن transient variable
ووشطرا لك

بتاريخ:

default command هو الخاصية التي تحدد اسم الزر الذي سيتم تنفيذه عند الضغط على الزر Enter
transient variable هو متغير لا يتم حفظه في قاعدة البيانات مثل المجموع والعدد وما إلى ذلك

بتاريخ:

من ناحية اظهار المجموع او عمل Summary Cloumn فالحقيقه عندك طرق كتير منها طريقه عمل Transiet attribute ومنها فى ال get Method الخاصة به حتحدد النتيجه بتاعته حتاخدها منين ولو عاوز مثال عملى على الكلام ده فشوف الرابط ده رغم انه متكلم على 10g الا ان الطريقه نفسها فى ال 11 ولو وقفت معاك حاجه اسال فيها

الطريقه التانيه اللى بفضلها شخصيا انك تعمل Backing Bean وتستدعى فيها ال Iterator ومنه ال Attribute اللى عاوز تعمل عليه SUM مثلا
وتلوب عليهم وتجمع وتضع Output Text فى ال Footer الخاص بال cloumn وتخلى ال Value بتاعته هى قيمة الميثود دى وانا عملت لك مثال عملى حمله من المرفقات بيعمل الحكاية دى كل اللى عليك انك تظبط اعدادات ال Connection اللى اسمه HRConn على اعدادات الداتابيز عندك واتاكد ان نتيجة الاتصال هى success وتعمل RUN لصفحة Summary Column واختار اى قسم من الاقسام واضغط اذهب الى وشوف ال Summary cloumn لراتب الموظفين فى القسم اللى اخترته حيظهر معاك ازاى

طبعا المثال حيشتغل بس على اخر نسخ الجى ديف 11.1.2

SummaryCloumn.rar

  • بعد 2 شهور...
بتاريخ:

من ناحية اظهار المجموع او عمل Summary Cloumn فالحقيقه عندك طرق كتير منها طريقه عمل Transiet attribute ومنها فى ال get Method الخاصة به حتحدد النتيجه بتاعته حتاخدها منين ولو عاوز مثال عملى على الكلام ده فشوف الرابط ده رغم انه متكلم على 10g الا ان الطريقه نفسها فى ال 11 ولو وقفت معاك حاجه اسال فيها

الطريقه التانيه اللى بفضلها شخصيا انك تعمل Backing Bean وتستدعى فيها ال Iterator ومنه ال Attribute اللى عاوز تعمل عليه SUM مثلا
وتلوب عليهم وتجمع وتضع Output Text فى ال Footer الخاص بال cloumn وتخلى ال Value بتاعته هى قيمة الميثود دى وانا عملت لك مثال عملى حمله من المرفقات بيعمل الحكاية دى كل اللى عليك انك تظبط اعدادات ال Connection اللى اسمه HRConn على اعدادات الداتابيز عندك واتاكد ان نتيجة الاتصال هى success وتعمل RUN لصفحة Summary Column واختار اى قسم من الاقسام واضغط اذهب الى وشوف ال Summary cloumn لراتب الموظفين فى القسم اللى اخترته حيظهر معاك ازاى

طبعا المثال حيشتغل بس على اخر نسخ الجى ديف 11.1.2




بعد اذنك يا بش مهندسة هالة هو البين ده بتاع الصفحة ولا البين ده اتعمل بتاع الاوتبوت تكست و اتعمل ازاي
متاسف انا عارف ان اسالتي كتير ولكني لسة مبتدا
شكرا علي الاهتمام ومتاسف علي الاطالة
بتاريخ:

لا يوجد شئ اسمه البين بتاع الاوتبوت تكست لأن الـ bean تكون مربوطة مع الصفحة

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

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

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

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

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

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.