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

مجموعة اسئلة

مغلق
بدأه بن طالب في 4 أغسطس 2001 · 3 رد · 811 مشاهدة · في قواعد بيانات Oracle
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

الأخوة الكرام : في متندى أوراكل العربي

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

احب في اول مشاركة لي في هذا المنتدى ان اشكر القائمين علية لما يبذلون من جهود كبيرة لأخراجة لنا بهذا الشكل فجزاهم الله خيرا.

لدي مجموعة من الأسئلة ارجو ان اجد ضالتي لديكم وهي:

1-عندما اريد عمل استعلام معين اعمل زرين في كل واحد تريجر الأول enter_queryو الثاني execute_query بحيث يضغط المستخدم على الزر الأول ثم يدخل اسم الموظف مثلا ثم يضغط الزر الثاني فيتم جلب معلومات الموظف فهل هذة الطريقة صحيحة ام يوجد طريقة افضل.

2-كيف يمكن عمل export لـ sequence.

3-عندما تقوم بتصميم فورم وتحتاج لعمل استدعاء لفورم آخر يجب تحديد مسار معين يعني راح يكون الكود مثل call_form(C:my_projectemp.fmx')

فإذا قمت بنسخ البرنامج الى جهاز آخر فسوف لن يعمل الا اذا كان الدليل my_projectموجود في الجهاز الثاني فكيف يمكن حل هذة المشكلة بحيث يعمل البرنامج على اي جهاز .

هل لبرنامج oracle file packger علاقة بالموضوع اوglopal.project_path :

4-عندما اعمل كود للبحث عن صف معين بأستخدام select بناءٌُُ على معلومة في حقل معين ثم اعمل تعديل على احد معلومات هذا الصف ثم اعمل commitفان الاوراكل يرفض حفظ هذة المعلومات لأنة يعتبرها اضافة صف جديد بنفس الprimary key وهذا خطأ . بأختصار كيف يمكن عمل update بعد تنفيذ جملة select

ارجو ان لااكون قد اطلت عليكم وشكرا على تعوانكم سلفا

#2

أخي العزيز

بالنسبة للسؤال الأول

هناك طريقة هي ان تعمل (DATA BLOCK) ولتسميه مثلا CONTROL يدويا وتقوم بعمل (TEXT ITEM) لتسميه مثلا EENAME وتربطه مع ال (CONTROL) اللذي أنشئته مسبقاً وتقوم بعمل (DATA BLOCK) آخر وليكن لجدول الموظفين (EMP) بعد ذلك تدخل على خصائص ال (EMP.ENAME)

ثم تكتب التالي داخل خاصية (COPY VALUE FROM) :-

CONTROL.EENAME

تقوم بعمل حدث على ال (EENAME) اللذي قمت بعمله مسبقا وليكن هذا الحدث على التريقر

(KEY_NEXT_ITEM) وتكتب التالي داخله :-

GO_BLOCK('EMP');

EXECUTE_QUERY;

سوف تجد الآن انه قام بإرجاع المعلومات عن اسم الموظف اللذي أدخلت أسمه بعد الضغط على مفتاح ENTER ويمكنك الآن عمل UPDATE لهذه المعلومات وهذا حسب ماأظن هو ماكنت تقصد في السؤال الرابع ..

بالنسبة للسؤال االثالث

أفضل طريقة هي ان تقوم بتجميع جميع ملفاتك داخل مجلد واحد بحيث تصبح جميع النماذج في مجلد واحد بعد ذلك تدخل على الريجستري (regedit) من أبد - تشغيل -regedit - أضغط على المفتاح HKEY_LOCAL_MACHINE ثم على SOFTWARE ثم أضغط على(ORACLE) أوراكل وابحث في الجزء الأيمن من الشاشة على مفتاح بإسمFORMS60_PATH اضغط على هذا المفتاح واكتب داخله المسار الخاص بالمجلد اللذي وضعت فيه جميع ملفاتك مسبوقا بفاصلة منقوطة ليكون ال (PATH) كاالتالي :-

F:devFORMS60 ; C:YOUR FOLDER

بعد ذلك يمكنك أستدعاء اي نموذج بدون كتابة ال(PATH) كاملاُ مثال

call_form('emp.fmx');

وقم بعمل نفس الطريقة في الجهاز الآخر ..

هذا والله أعلم

#3

تحياتي للجميع

اخي الكريم بالنسبه للسؤال الرابع يجب ان يكون عندك العلم بما يلي :

1- عندماقمت ببناء ال block اخترت ان يكون base table يعني ان هذا تا بع لtable ي قاعدة البيانات.... فأسلم طريقه لأستخراج البيانات وتعديلها هي استعمال امر entr_query ومن ثم execute_query للشروط التي قمت بتحديدها.... الfunctions الجاهزه (create_record + delete_record + next_record...) ..الخ

وهذه صممت لمساعدة المبرمج في عمله بدل ما يكتبها من جديد.

2- اذا قمت بإظهار بيانات عن طريق جملة select ثم عملت لها into في حقول على الشاشه(تكون حالة السجل هي new) وتريد حفظ التعديلات التي اجريتها عليها يفهم الbock ان هذه البيانات جديده لأنك لم تستخرجها عن طريق execute_query .... مما يضطرك لعمل جملة update لتأثر بما عدلت على السجل المعني ... وهذه طريقه ممله ومتعبه جدا...

يجب عليك اخي الكريم ان توفر وقتك وتستغل كافة الfunctions الموجوده

3- لحل مشكلتك يمكنك كتابة هذه الجمله بعد جملة الselect وفي حالة نجاح جملة الselect الخاصه بإظهار البيانات بالحقول: (يرجى اخذها copy)

set_record_property(:system.cursor_record,

:system.current_block,

status,query_status);

هذه الجمله تقوم بتحويل حالة السجل من (new) الى(query)

عند الحفظ فلا تعتبره سجل جديد....

اتمنى ان اكون قد افتدك .......

تحياتي

#4

اخواني محمد والنبع اشكركم وجزاكم الله خيرا والله يكثر من امثالكم

سأقوم بعمل ماقلتموة وارجو ان اوفق في تنفيذة

هذا الموضوع مغلق.

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