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

بتاريخ:

السلام عليكم ورحمة الله

ماهو الخلل في هذه الطريقة

الهدف : هو طبع اسم المستخدم على الفورم ......

عندما يعمل المستخدم log on باسم المستخدم الخاص بالداتابيس ..مثل system ,sys ,scott وغيرها اريد هذا الاسم ان يطبع على الفورم في تكست بوكس

ماعملته هو

طريقتين

الطريقه الاولى :

هي سحب عمود username من جدول DBA_USER الموجود في SYS view فهو خاص باسماء المستخدمين ...عندما اضع التكست بوكس يوزرنيم على الفورم

و أضع على مستوى الفور ترجير when new form instance واكتب بداخله EXECUTE_QUERY نعم يعمل لكن النتيجة هي دائما

اسم المستخدم sys.....حتى لو كان الدخول بسيستم او سكوت يكون دائما المستخدم SYS


الطريقة الثانية :

هي عمل بلوك خالي وبه بوكس تكست مسمى user1 ووضعت على مستوى الفورم ترجير

when new form instance

وكتبت بداخله

declare 
user1 varchar(30);

begin
user1:=get_application_property(username);

EXECUTE_QUERY;


end;



وكانت النتيجة هي نفس الطريقة الاولى بحيث ان التكست بوكس يطبع دائما sys

كيف التعديل بحيث لما ادخل عن طريق المستخدم سيستم يطبع لي سيستم ولما ادخل عن طريق المستخدم سكووت يطبع اسم سكوت

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

بتاريخ:

أولاً ، DBA_USER لم أجدة ، حيث أتعامل مع أوراكل 9 ، ولا أعلم ماذا تتعامل !!!
ثانياً ، USER_USERS تجلب بيانات المستخدم المتصل الحالي فقط لا غير .


أما بخصوص GET_APPLICATION_PROPERTY(USERNAME) ... فهي تعمل معي بنجاح ، انظر :

DECLARE
S	VARCHAR2(500);
BEGIN
S := GET_APPLICATION_PROPERTY(USERNAME);
MESSAGE(S);
MESSAGE(S);
END;




أكيد هناك مشكلة أخري

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

حياك الله أخي العزيز MMA

أسعدتني رؤيتك

بالنسبه ل DBA_USER فهو موجود تحت السكيما الفيو تبع SYS

يعني تدخل على الداتا بيس تذهب من Enterprise Manager من ثم تذهب للسكيما بعدها view ومن ثم SYS وابحث داخلها عن DBA_USERS ستجدها

انا ايضا اتعامل مع 9

بالنسبه ل GET_APPLICATION_PROPERTY(USERNAME

نعم هي تعمل لكن واقفه فقط على المستخدم SYS لاغير حتى لو اتصلت بقاعدة البيانات من خلال سكوت سيظل اليوزرنيم هنا SYS

بالنسبه USER_USERS هل تعمل مع اوراكل جي10 الديلفبور اذا نعم هل هناك طريقة معينه لها

بحيث يطبع اسم المستخدم الحالي داخل بوكس .

وشكرا لك أخي الكريم

بتاريخ:

النسبه ل DBA_USER فهو موجود تحت السكيما الفيو تبع SYS

يعني بتعمل تحت مظلة Sys فقط لا غير ، لكنها لا تعمل أثناء الإتصال مع أي User آخر

بالنسبه ل GET_APPLICATION_PROPERTY(USERNAME

نعم هي تعمل لكن واقفه فقط على المستخدم SYS لاغير حتى لو اتصلت بقاعدة البيانات من خلال سكوت سيظل اليوزرنيم هنا SYS


هي تعمل معي بنجاح ، ولن أجد أي مشكلة نهائياً

بالنسبه USER_USERS هل تعمل مع اوراكل جي10 الديلفبور اذا نعم هل هناك طريقة معينه لها


لم اتعامل من قبل مع 10g ولكنني أتعامل مع 9i ، وهي تعمل جيداً مع أوراكل 9





شكراً
بتاريخ:

السلام عليكم ورحمة الله وبركاته


ويمكنكم إخواني الإعزاء عمل التالي


select username into :blk.username from dual;

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

وعليكم السلام ورحمة الله وبركاته

اخي shibika

شكرا على مشاركتك

مالذي يعمله هذا الكود ....عندما جربته وطبقته وجدت انه اعطاني رقما 72


لم يطبع اليوزر نيم

هل هناك شيء تحب ان تضيفه أخي

وشكرا للمشاركه

بتاريخ:

السلام عليكم.

BEGIN SELECT sys_context('userenv','current_user')
INTO :user_field FROM dual;
END;

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

وعليكم السلام ورحمة الله أخي الاستاذ

Welooo

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

أسال من الله أن يعطيك ماتريد ويوفقك أنت والأخوه المشاركين

الاخ MMA ,و الأخ Shibeika

وفقكم الله والى الامام ومزيد من التقدم

شكرا لكم جميعا

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

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

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

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

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

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

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.