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

مشكلة فى عملية Update على الجدول

Featured Replies

بتاريخ:

السلام عليكم ,,,



كيف حال الشباب ...عندي مشكلة ..مش عارف إذا كانت بسيطة ..بس غلبتني شوية
ZpH85777.jpg

هادي صورة عندي بلوك ع شكل تابيولر ... قمت بإضافة تريجر عليه بحيث إذا ضغط المستخدم نقرتين بالماوس علي الرقم , تظهر كافة البيانات فى البلوك الثاني الذي على شكل فورم,,,
لكن فى حالة التعديل على الفورم وإضافة بيانات يرفض ذلك وتظهر رسالة خطأ ,,, زي الصورة الى تحت
kjI85777.jpg

و انا عامل زر حفظ
go_block('emp2');
commit_form;



يعني انا بقوم بالتعديل ع البيانات ..فقط

بتاريخ:

السلام عليكم
أخي لماذا لا تعمل الجدولين ماستر ديتيل وتعمل RELATION بينهم ؟؟
تدخل وتعدل وتحذف كمان تشاء...

تم تعديل بواسطة PALI.ORACLE

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

صحيح أخي ... لكن أخي انا كانت عندي الفكرة إنه لما ينقر مرتين ع الرقم ... تظهر كافة البيانات ...

انا كنت عامل قبل هيك إنه الأسماء تظهر فى list وعملت عليه تريجر WHEN_MOUSE_CLICK ولما يضغط ع الإسم تظهر كل البيانات فى الفورم,,,

وهان كمان كان نفس المشكلة انه لما اعدل وأحفظ تطلعلي نفس الرسالة..... فأنا بدي أعرف من وين المشكلة إذا بتنحل بكون كويس.

بتاريخ:

أخي اياد..
المشكله انك بتحاول تعدل على PK
في حلين:
اما انك بتعمل الفورم على شكل ماستر ديتيل..
او بتعمل فورم اخر للتعديل ويؤثر بنفس الوقت على الفورم الاساسي...
وانا افضل الطريقة الاولى..
بالنسبه لاظهار البيانات:
1- انك تخفي البلوك كامل وعندالضغط على الايتم يظهر البلوك والبيانات اللي فيه.
2- تخلي البلوك ظاهر وتخفي البيانات في الرن تايم وعند الضغط على الاينم يتم اظهارها.

تم تعديل بواسطة PALI.ORACLE

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

مشكور أخي ع الرد السريع ... لكن أخي الى مستغرب منه أني أقوم بعملية UPDATE وليس INSERT فلماذا تظهر المشكلة

سأحاول تطبيق ما قولته ... ان شاء الله

بتاريخ:

المشكله دى بتظهر لانك لما بتضغط مرتين بالماوس و بتظهر البيانات
البيانات البتظهر في الفورم بيعتبرها كأنها record جديد عشان كده لو انت حتى معدلتش اصلا وعملت اي حاجه اخرى في الفورم هيخرج رساله انك عايز تحفظ التغيرات دى ولا لاء ولو عملت yes
هيخرج نفس الخطا العندك انه ميقدرش يعمل insert لان ال record ده موجود بالفعل في الجدول

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

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

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

هذا هو الكود المستخدم على تريجر when_mouse_click على رقم ssn_no


declare
   cursor curs is select * from emp_info where SSN_NO=:emp_info.SSN_NO;
   n number;
   a varchar2(30);
   t number;
   w varchar2(30);
   d number;
   j varchar2(30);

begin open curs;
   loop
 fetch curs into n,a,t,w,d,j; exit when curs%notfound;
 :emp_info1.ssn_no:=n;
 :emp_info1.emp_name:=a;
 :emp_info1.job_no:=t;
  :emp_info1.emp_jaw:=w;
   :emp_info1.emp_dept:=d;
  :emp_info1.job_name:=j;

   end loop;
   close curs;
end;

بتاريخ:

السلام عليكم
انا كان عندى نفس مشكلتك كنت عامله button بيظهر lov وكان ال lov ده بيرجع القيم لكل ايتم من الفورم فكنت لما بعمل ايه تعديل في اي حاجه يظهر الخطأ ده فكرت في حاجه حلت المشكله دى عندى ومتهيألى نفس الفكره عندك
عملت ايتم غير مرئى برجع فيه قيمه الid من ال lov
وكتبت في الكود الخاص ب ال buton البيظهر ال lov

if show_lov('EMP') then 
null;
end if;
set_block_property('employees',default_where,'employee_id='||:empid);
go_block('employees');
execute_query;


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


set_block_property('emp_info',default_where,'SSN_NO='||:txt_item);
go_block('emp_info');
execute_query;


جرب وقولي

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

اخى العزيز ال PK لابد ان تكون خصائصه فى الفرومة not requierd

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

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

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

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

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

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.