بتاريخ: 4 يونيو 200619 سنة comment_71257 الســــــــــــلام عليكم جميعاقبل ان ابدا في السؤال اشكركم على المستوى الرائعالسؤال هو:عند عملية جلب البيانات بcursor لانستطيع معالجة البياناتهل هناك طريقة تستطيع من خلالها بحث عن سجل او اكثر واجراء معالجة البيانات وشكرا تقديم بلاغ
بتاريخ: 5 يونيو 200619 سنة كاتب الموضوع comment_71367 التوضيح كالتالي يااخ بوصالحلنفرض اني بحث عن الموظفين الموجودين في الادارة رقم 10 في جدول empباستخدام الcursorاذا اردت ان اعدل اي سجل تظهر رسالة خطأفهل يوجد هناك طريقة اخرى ابحث بها عن الموظفين واستطيع ان اعدلفي السجلات الناتجة من عملية البحثارجو ان يكون الشرح واضح وشـــــــــــــــــــكرا. تقديم بلاغ
بتاريخ: 6 يونيو 200619 سنة كاتب الموضوع comment_71452 السلام عليـــــــــــــــــــــــــــــكم .......................التوضيح كاتالي يا اخ HOBAAأن الأن غير موجود على جهازي ولاكن محتوى الرسالة هوUNABLE UPDATE THE RECORDواعتقد ان ورقم الرسالةFRM-40559ولاكن كما قلت اني اعتقد ان هذا هو رقم الرسالة.------------------------------------------------------------اني اعتقد ان سؤالي غامض قليل او غير مساغ بصيغة صحيحة ولكي اؤكد على المطلوبوهو التالي :لنفرض اني بحث عن اي سجل في جدول EMP باستخدام CURSOR واريد ان اغيراسم الموظف يحدث خطأ يمنع عملية التعديل .هل يوجد حل لهذه المشكلة او طريقة اخر للبحث عن سجل في الجدول مع امكانية التعديلارجو ان يكون كلامي واضح وشكــــــــــــــــــرا لاهتمامكم بالموظوع.انا متأكد بأنك ستجيب على سؤالي لانك أهل للثقة تم تعديل 6 يونيو 200619 سنة بواسطة sky information تقديم بلاغ
بتاريخ: 7 يونيو 200619 سنة comment_71476 هذا كيرسر يعرض بالفورم رقم الموظف واسمه وراتبه الشهري ولنفرض ان البلوك عندك الموجود بالفورم لايتبع لقاعدة بيانات nondatabase ممكن ان تضع الكود داخل تريجر when-new-forms-instance declare cursor c is select emp_no,emp_name,salary from employees; begin firs_record; for i in c loop :empno:=i.emp_no; :empname:=i.emp_name; :sal:=i.salary; next_record; exit when c%notfound; end loop; الloop يعمل update للموظف الذي تم عرضه ويتغير حسب تغييرك بالشاشةممكن ان تضع الكود داخل كبسة begin first_record; loop update employee set emp_name=:emp where emp_no=:empno; next_record; exit when :system.last_record='TRUE'; end loop; commit_form; end; تقديم بلاغ
بتاريخ: 7 يونيو 200619 سنة كاتب الموضوع comment_71540 مشكور يا اخ اسامة ...................................رايح اجرب الكود واخبرك بالنتيجةوالله يعطيك العافية انت والشباب على المستوى الرائــــــــــــــــــــــــــــــــــعوشكرا. تقديم بلاغ
بتاريخ: 8 يونيو 200619 سنة كاتب الموضوع comment_71621 لنفرض ان جدول emp فيه (الفين موظف) اريد ان ابحث عن موظف اسمه naser .واريد تعديل سجله او حذفه ولكي اقوم بذلك استدخدمت cursorوعرض لي السجل في form ......... الى الان ماشي صح ولكن حينما اريد تعديل سجله او حذفهتخرج الرسالة frm-40508 oracle error:unable to insert recordواذا استخدمت الامر execute_query لكي اصل للسجل المطلوب استطيع احذفه واعدله ولكنليس من المنطق ان استخدم الامر execute_query وابحث عن السجل للعديد من الدقائقفهل هناك طريقة يا ايه المبدعون استطيع ان ابحث عن سجل من بين الاف السجلات واستطيع اعدل واحذف من دون مشــــــــــــــــــــــــــاكل وامــــل اني لم ازعجكم على كثرة الاسئلة وشكرا. تقديم بلاغ
بتاريخ: 8 يونيو 200619 سنة comment_71626 بس ياخى على مقدار فهمى من شرحك انت عوز تبحث عن موظف وتقوم بعمل تعديل او حذف لهذا الموظف .فى البدايه الحياه بتمشى وحده وحده يعنى لازم نعمل كل حاجه لوحده لعمل بحث ممكن تعمل زر به enter_query; وهذا الزر يعد لاستقبال استعلام(بحث)الزر الاخر execute_query; هذا الامر ينفذ الاستعلام بنأن على اى بيان يتم كتابته على سبيل المثال على جدول empلم اكتب سوا اسم الموظف "scott" وهنا سوف يبحث بين الموظفيين على الموظف الذى يدعا "scott" وبعد ذلك يمكن عمل الحذف او التعديل و كل من العمليتيين فى زر مستقل .و فى طريقه اخرى للبحث بأستخدام ال cursor و هى كما ذكرها الاخ العزيز اسامة ولكن مع اضافة شرط ويكون الكود هكذا declare cursor c is select emp_no,emp_name,salary from employees where ename like'%'||:ename||'%'; begin firs_record; for i in c loop :empno:=i.emp_no; :empname:=i.emp_name; :sal:=i.salary; next_record; exit when c%notfound; end loop; واذا كنت تريد دقه اكثر ممكن تزيد الشروط .انا مش عارف اذا كنت فهمت صح او غلط ملحوظه ايهاب وجدى تقديم بلاغ
بتاريخ: 14 يونيو 200619 سنة كاتب الموضوع comment_72154 شكــــــــــــــــــــــــــــــــــــرا .........................................الاخ hobba وسوف اجرب الكود واعطيك الرد تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.