بتاريخ: 25 أبريل 200818 سنة comment_127392 السلام عليكم ورحمة الله وبركاته يا شباب لقد قمت بانشاء جدول create table user_login(username varchar2(20) primary key ,pass_word varchar2(20) not nullوبعدها ذهبت الى الفورم وقمت بانشاء فورمة شاشة الدخول فيها زرارين ok و cancel كتبت في زر ok هذا الكود declarecursor dd is select * from user_login; ddv dd%rowtype; xx number:=1;begin for ddv in dd loop :xx:=:xx+1;if :xx=3 then exit_form;elsif (ddv.username = :userr) and (ddv.pass_word = :pass) thencall_form('c:\project\MAIN',hide,no_replace,no_query_only,'');Exit_form(no_validate); elsemessage('username or password is wrong'||' '||:xx);message('username or password is wrong'||' '||:xx);end if;end loop;end; اشتغل معاي هذا الكود بس المشكلة عندما اقوم بإدخال اكثر من مستخدم في الجدول في sql واقوم بكتابة اسمه في الفورم تظهر رسالة خطأارجوووووووووووووووووووو منكم تصحيح الخطأ لانييي طلبوه مني في العمل انشاء هذا الكودوقالو لي نريد اذا ادخل المستخدم 3 مرات خطأ يقوم البرنامج بعمل block على جهازه ولا يعمل الا اذا اتى الadministrator وفتح الفورم من جديدارجوووووووووووووووووووووووووو المساعدة يا خبراء لانني في وضع حرج تقديم بلاغ
بتاريخ: 25 أبريل 200818 سنة comment_127407 لانك مش عامل شرط فى رجوع جملة الاستعلام و بترجع اكتر من مستخدم فا بيعطى خطاءو للعالاج select user_id from users where user_name= :user_name; طبعآ ممكن تغير جملة الاستعلام و تغير الشرط زى مانت عاوز ايهاب وجدى تقديم بلاغ
بتاريخ: 25 أبريل 200818 سنة كاتب الموضوع comment_127413 يا أخي لم افهم هل اضيف حقل في الجدول في sql اسميه user id ام اضيف هذا الكود في الفورم ارجووووووو الشرحوشكرا تقديم بلاغ
بتاريخ: 26 أبريل 200818 سنة comment_127484 والله صارت معي نفس المشكله اذا حدا بعرف يساعد ارجو ان لا يبخل علينا لاني اواجه هذه المشكله كمان عند حذف مستخدم انا اعمل على اصدار 10 g تقديم بلاغ
بتاريخ: 27 أبريل 200818 سنة comment_127538 1- u had to retrive the password for the user as follow select pass_word into xx from user_login where username =:field_where_user_type_his_usernmae2- validate password as follow if xx <> :field_where_user_type_his_password thenerror pass word message ;end if;3- u had to hande exception when_no_data found -- that mean if the user name not found message user name does n't exit and so onلاتستخدم الكيرسور لأن الكيرسور يترجع أكتر من ريكورد أو استعمله ولكن ضع شرط ان يكون اسم المستخدم على الفورم يساوى اسم المستخدم على الجدول تقديم بلاغ
بتاريخ: 27 أبريل 200818 سنة comment_127574 اخي لقد استحدمت الكيرسور في الكود ويوجد شرط ولكن بقيت نفس المشكله لا يقبل الا اضافة مستخدم واحد تقديم بلاغ
بتاريخ: 28 أبريل 200818 سنة comment_127596 اخي alsofiوالله شكله ما حدا بتابع هون او انهم ما بحب يساعدو حد بس ان شاء الله رح اسأل الدكتور في الجامعه ورح اعرف الجواب منه واضعه هنا للفايده مشكورين يا اعضاء المنتدى والله انكم ما قصرتو معنا تقديم بلاغ
بتاريخ: 28 أبريل 200818 سنة comment_127628 مشكور اخي على الرد بعد ان ياست من ان يرد احد اخي الفورمه التي قمت بارسالها لا تعمل على 10 gانظر في المرفقات وارجو ان تخبرني اين الخطا في الفورمه الموجوده عندي LOGIN.zip تقديم بلاغ
بتاريخ: 29 أبريل 200818 سنة كاتب الموضوع comment_127680 يا شباب احد يريحنا و يحل لنا هذه المشكلة تقديم بلاغ
بتاريخ: 1 مايو 200818 سنة comment_127838 ولو ما حدا عارف يحل المشكله ؟؟وين المبرمجين وين الاعضاء يا شباب المشكله انه عنا عطله في الجامعه والدكاتره معطلين والا كان استفسرت من اي دكتور تقديم بلاغ
بتاريخ: 4 مايو 200818 سنة comment_127988 غير التريجر الخاص بالباتن ليصبح كما يلى .. والفورم التى سبق ارفاقها مطورة باستخدام r2 10g declare cursor dd is select * from user_login where upper(username) = upper(:userr); ddv dd%rowtype; xx number:=1; begin for ddv in dd loop xx:=xx+1; if xx=3 then exit_form; elsif (ddv.pass_word = :pass) then call_form('c:\project\MAIN',hide,no_replace,no_query_only,''); --Exit_form(no_validate); else message('username or password is wrong'||' '||xx); message('username or password is wrong'||' '||xx); end if; end loop; end; تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.