بتاريخ: 8 يونيو 200421 سنة comment_8072 السلام عليكممشكلتي في استدعاء ال procedure طبعا انا عملت ال procedure من ال sql اي stored program unit داخل ال data base ولما اعملة تنفيد من داخل ال sql يعمل بشكل صحيح ومن هنا تأكدت ان ال procedure يمشي صحيح في التنفيدولكن عندما انشأت form وعملت button داخل ال block وعملت trigger (when button press واستدعيت داخلة ال procedure بدون begin و end وعنما نفدت وضغطت ال button لم يعمل اي شي وعنما عملت begin وكتبت اسم ال procedure ومن ثم كتبت end و عند التنفيد قمت بالضغط على ال button يوقف البرنامج ويكون في حالة ال not responding ومن ثم اعمل ctr+alt+del للخروجالمهم كيف اقدر استدعي ال procedure داخل ال form سواء بأستدعاء parameter او بدون parameter ارجوا الافادة بسرعة جزاكم اللة خير تقديم بلاغ
بتاريخ: 8 يونيو 200421 سنة comment_8080 لكي تقومي باستدعا بروسيجر من الفورم يجب ان يكون داخل وحدات البرامج Program Unit والتى تجدينها في Object Navigator في الاوركل فورم ،، تقديم بلاغ
بتاريخ: 8 يونيو 200421 سنة comment_8086 السلام عليكمعفوا أخي أبو صالحولكن الفورمز يبحث أولا عن procedure في ال progaram unit ثم في ال pl liberary ثم بعد ذلك في الداتا بيزفأعتقد إذن أنه يظهر مع database objects في ال object navigatorولكني لم أجرب من قبل استدعاء بروسيدجر من الداتا بيز والله أعلم تم تعديل 8 يونيو 200421 سنة بواسطة MOHAMED_A تقديم بلاغ
بتاريخ: 9 يونيو 200421 سنة comment_8087 شكرا اخي محمد على المعلومة ،، بس بصراحة انا ماجربتها قبل كذه وشكرا ،، تقديم بلاغ
بتاريخ: 9 يونيو 200421 سنة comment_8088 العفو أخي أبو صالحأنت أستاذناالأخت سيبيانية قمت بتجربة استدعاء procedure من الداتا بيز ، وبدون كلمتي begin و end وبدون اي مشكلات أرجو التوضيح أكثر من الأخت سيبيانية تقديم بلاغ
بتاريخ: 9 يونيو 200421 سنة كاتب الموضوع comment_8128 السلام عليكمانا لم اكون ال procedure داخل ال program unit في ال nivegator ولكن من ال sqlبالنسبة لل begin و end اي لما استدعيت ال procedure داخل ال form عن طريق trigger when button press ولكن للاسف لم يعمل ال procedure بهذة الطريقة ولكن لما استدعية وانفدة داخل ال sql بعمل بشكل صحيحارجوا وضحت الفكرة يشكل صحيح تقديم بلاغ
بتاريخ: 9 يونيو 200421 سنة comment_8136 عند عمل procedure في الداتا بيز ، اي من خلال ال isql*plus يمكن مشاهدة هذا procedure في object navigator عن طريق database object>program unitsفي حالة إنشاء procedure فإنه يظهر لنا في ال object navigatorفي الغالب المشكلة في ال arguments أو ال parameters التي نعطيها له في أثناء تجربة الفورم نفسهاهل من الممكن وضع الفورم هنا مع نص ال procedure لعلي أستطيع المساعدة ؟وشكرا تقديم بلاغ
بتاريخ: 10 يونيو 200421 سنة كاتب الموضوع comment_8159 السلام عليكم اسفة لم استطع ادراج الفورم مع ال procedure بسبب مشاكل في الكمبيوتر, ممكن اوضحلك كالتالي:طبعا لدي عدة procedure جميعهم تستدعي parameter وواحد فقط لايستدعي اي انة ينفذ بدون ادخال متغير طيب انا جربتهم كلهم اي نفدتهم من sql فعملوا بشكل صحيح ولكن حاولت التنفيد من داخل ال form فعملت التجربة اولا على transf_close وهو اسم ال procedure وهو الprocedure الوحيدالذي يستدعى بدون parameter لاني قلت يمكن يكون المشكلة في ال parameter فكونت form وعملت داخلة button واحد بحيث اذا ضغطت ال button يقوم بتنفيد ال procedure والعملية كالتالي:when button press وهو اسم ال trigger كتبت اسم ال procedure كالتالي:transf_close;وبهذا الطريقة قمت بتنفيد ال form وعندما ضغطت على button وخرجت من التنفيد وذهبت الى الجدول الذي سوف يتغير عند استدعاء الprocedure ولكن لم ارى اي تغيير في الجدول وكأن استدعاء ال procedure في ال form لايعمل اي شي عفوا على الاطالة وارجوا الافادة تقديم بلاغ
بتاريخ: 10 يونيو 200421 سنة comment_8162 السلام عليكملايوجد مشكلة سواء كان ال procedure معه متغير او بدون ولقد قمت بتجربة النوعين وهذه هو الكود الموضوع في الداتا بيز(1)create or replace procedure raise_sal is begin update emp set sal =sal+10000; end raise_sal; (2)create or replace procedure update_sal (p_empno in number) is begin update emp set sal =sal+50000 where empno=p_empno; end update_sal; وهذه هي الفورم المطبق عليها الكود أرجو ان تكون ذات فائدةوفي انتظار الرد procedure.fmb تقديم بلاغ
بتاريخ: 10 يونيو 200421 سنة comment_8163 السلام عليكمأرجو يا أختي أن تضعي على الأقل نص البروسيجر . و سنجربه ، و ان شاء الله نتوصل لحل.كما أنوه أنه ربما نسيت أن تضعي جملةcommitو السلام عليكم تقديم بلاغ
بتاريخ: 10 يونيو 200421 سنة comment_8164 السلام عليكم أخي الراية من الواضح انني الذي نسيت وضع كلمة commitلأن التغيير الذي يتم من خلال الprocedure لا يعتبره الفورم تغييرا يتوجب عليه حفظةأعتذر عن هذا الخطأشكرا على المعلومة أخي الرايةMohamed OCP تقديم بلاغ
بتاريخ: 10 يونيو 200421 سنة comment_8166 العفو أخي محمد ، جل من لا يسهو .على فكرة لم أنتبه لردك بالأمثلة إلا بعد أن كتبت ردي الذي أذكر به ب commit ، لأني أتوقع أن هذه هي مشكلة الأخت. تقديم بلاغ
بتاريخ: 11 يونيو 200421 سنة كاتب الموضوع comment_8186 السلام عليكمشكرا على الرد واخبركم انني مثلكم اكتشفت ان المشكلة في commit ولما عملتها تنفد ال procedure والحمدللة وشكرا مرة ثانية وجزاكم اللة خير تقديم بلاغ
بتاريخ: 11 يونيو 200421 سنة comment_8200 السلام عليكمالشكر كله يوجه للأخ الرايةشكرا مرة أخرى على الملاحظةMohamed OCP تقديم بلاغ
بتاريخ: 18 يناير 201016 سنة comment_182621 السلام عليكملايوجد مشكلة سواء كان ال procedure معه متغير او بدون ولقد قمت بتجربة النوعين وهذه هو الكود الموضوع في الداتا بيز(1)create or replace procedure raise_sal is begin update emp set sal =sal+10000; end raise_sal; (2)create or replace procedure update_sal (p_empno in number) is begin update emp set sal =sal+50000 where empno=p_empno; end update_sal; وهذه هي الفورم المطبق عليها الكود أرجو ان تكون ذات فائدةوفي انتظار الرد اخي جزاك الله خيرا ع المعلومة أنا أيضا عندي مثل مشكلة الخت ولني أردت تحميل الملف المرفق ولكن هناك خطأ أثناء التحميل فأرجو ان تضع الملف مرة اخرى تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.