بتاريخ: 23 يوليو 201213 سنة comment_226451 السلام عليكم عندي بعض الاستفساراتاولا انشأت شاشة دخول للبرنامجفيها كود المستخدماسم المستخدمالباسوردعند كتابة كود المستخدم يعطيه اسم المستخدم تلقائيوعند كتابة الباسورد يتم التشيك على يوسر الكودوالباسوردوكذلك حالة المستخدمحيث اني استخدمت كود الاستاذ احمد في هذا المنتدى وعدلت في الكود ولكن يوجد لدي خطأ في الكود اتمنى ان يساعدني من له خبره وشكراما اريده هو التالي التشيك على اليوسر كود والباسورد اذا كانا صحيحين يفتح الشاشه الرئيسيه واذا خطأ يعطيه رساله خطأ في حالة ترك حقلي اليوسر كود والباسوورد او احدهم والضغط على "دخول" يعطيه رساله خطأ اذا كان حالة المستخدم 0=(USER_TYPE) يعطيه رساله المستخدم غير مفعل لا ارغب في وجود عداد يحسب عدد مرات كتابه اليوسر والباسوورد PROCEDURE USERS_ACC IS V_COUNT NUMBER; VV_USRSTS NUMBER; VV_USRTYPE NUMBER; VV_TYPE NUMBER; V_USER NUMBER; V_PASS NUMBER; BEGIN BEGIN SELECT COUNT(1) INTO V_COUNT FROM PRV_USERS_HD WHERE UPPER(USER_CODE) = UPPER(:B.USER_CODE) AND UPPER(USER_PASS) = UPPER(:B.PASS); EXCEPTION WHEN NO_DATA_FOUND THEN V_COUNT := 0; END; IF V_COUNT = 0 THEN :PARAMETER.P_TRIALS := NVL( :PARAMETER.P_TRIALS,0)+1; IF :PARAMETER.P_TRIALS = 3 THEN MESSAGE ('PLEASE ENTER USER NAME OR PASSWORD'); MESSAGE ('PLEASE ENTER USER NAME OR PASSWORD'); ELSE GO_BLOCK('B'); CLEAR_BLOCK('NO_COMMIT'); GO_BLOCK('B'); END IF; ELSE BEGIN SELECT USER_TYPE INTO VV_USRTYPE FROM PRV_USERS_HD WHERE UPPER(USER_CODE) = UPPER(:B.USER_CODE) AND UPPER(USER_PASS)= UPPER(:B.PASS); EXCEPTION WHEN NO_DATA_FOUND THEN NULL; END; -- CHECKING USER SETING IF VV_USRTYPE = 0 THEN MESSAGE ('USER ACCOUNT IS LOCKED'); EXIT_FORM('NO_COMMIT,NO_VALIDATE'); END IF; ---------------------------------------------------------------------------------------------------------- :GLOBAL.P_USER_TYPE := (VV_USRTYPE); :GLOBAL.P_USER := ('B.U_NAME'); NEW_form('E:\TRN\SAM010.fmx'); CLEAR_BLOCK('NO_COMMIT'); END IF; END; تقديم بلاغ
بتاريخ: 24 يوليو 201213 سنة كاتب الموضوع comment_226473 السلام عليكم عندي بعض الاستفسارات اولا انشأت شاشة دخول للبرنامج فيها كود المستخدم اسم المستخدم الباسورد عند كتابة كود المستخدم يعطيه اسم المستخدم تلقائي وعند كتابة الباسورد يتم التشيك على يوسر الكود والباسورد وكذلك حالة المستخدم حيث اني استخدمت كود الاستاذ احمد في هذا المنتدى وعدلت في الكود ولكن يوجد لدي خطأ في الكود اتمنى ان يساعدني من له خبره وشكرا ما اريده هو التالي التشيك على اليوسر كود والباسورد اذا كانا صحيحين يفتح الشاشه الرئيسيه واذا خطأ يعطيه رساله خطأ في حالة ترك حقلي اليوسر كود والباسوورد او احدهم والضغط على "دخول" يعطيه رساله خطأ اذا كان حالة المستخدم 0=(USER_TYPE) يعطيه رساله المستخدم غير مفعل لا ارغب في وجود عداد يحسب عدد مرات كتابه اليوسر والباسوورد PROCEDURE USERS_ACC IS V_COUNT NUMBER; VV_USRSTS NUMBER; VV_USRTYPE NUMBER; VV_TYPE NUMBER; V_USER NUMBER; V_PASS NUMBER; BEGIN BEGIN SELECT COUNT(1) INTO V_COUNT FROM PRV_USERS_HD WHERE UPPER(USER_CODE) = UPPER(:B.USER_CODE) AND UPPER(USER_PASS) = UPPER(:B.PASS); EXCEPTION WHEN NO_DATA_FOUND THEN V_COUNT := 0; END; IF V_COUNT = 0 THEN :PARAMETER.P_TRIALS := NVL( :PARAMETER.P_TRIALS,0)+1; IF :PARAMETER.P_TRIALS = 3 THEN MESSAGE ('PLEASE ENTER USER NAME OR PASSWORD'); MESSAGE ('PLEASE ENTER USER NAME OR PASSWORD'); ELSE GO_BLOCK('B'); CLEAR_BLOCK('NO_COMMIT'); GO_BLOCK('B'); END IF; ELSE BEGIN SELECT USER_TYPE INTO VV_USRTYPE FROM PRV_USERS_HD WHERE UPPER(USER_CODE) = UPPER(:B.USER_CODE) AND UPPER(USER_PASS)= UPPER(:B.PASS); EXCEPTION WHEN NO_DATA_FOUND THEN NULL; END; -- CHECKING USER SETING IF VV_USRTYPE = 0 THEN MESSAGE ('USER ACCOUNT IS LOCKED'); EXIT_FORM('NO_COMMIT,NO_VALIDATE'); END IF; ---------------------------------------------------------------------------------------------------------- :GLOBAL.P_USER_TYPE := (VV_USRTYPE); :GLOBAL.P_USER := ('B.U_NAME'); NEW_form('E:\TRN\SAM010.fmx'); CLEAR_BLOCK('NO_COMMIT'); END IF; END; لقد وجدت الحل وعدلت في الكود PROCEDURE P_CHECKUSER ISVN_COUNT NUMBER(10) := 0 ;VV_USRTYPE NUMBER(1) := '' ;BEGIN BEGIN SELECT COUNT(1)INTO VN_COUNT FROM PRV_USERS_HD WHERE UPPER(USER_CODE) = UPPER(:B.USER_CODE) AND UPPER(USER_PASS) = UPPER(:B.PASS);EXCEPTION WHEN NO_DATA_FOUND THENVN_COUNT := 0;END; IF VN_COUNT = 0 THEN:PARAMETER.P_TRIALS := NVL(:PARAMETER.P_TRIALS,0) + 1 ;IF :PARAMETER.P_TRIALS = 3 THENEXIT_FORM(NO_COMMIT,NO_VALIDATE);ELSEGO_BLOCK('B'); CLEAR_BLOCK(NO_COMMIT);GO_BLOCK('B');END IF;ELSE BEGIN SELECT USER_TYPEINTO VV_USRTYPEFROM PRV_USERS_HD WHERE UPPER(USER_CODE) = UPPER(:B.USER_CODE) AND UPPER(USER_PASS) = UPPER(:B.PASS);EXCEPTION WHEN NO_DATA_FOUND THENNULL;END; IF VV_USRTYPE <> '0' THENMESSAGE('user not active');MESSAGE('user not active');EXIT_FORM(NO_VALIDATE);END IF; :GLOBAL.P_U_NAME := :BLKLOGIN.USER_NAME;NEW_FORM('MAIN_PAGE');END IF;END;مازال لدي شيء بيسط جدا وهوفي هذه الجزئيهIF VV_USRTYPE <> '0' THENMESSAGE('user not active');MESSAGE('user not active');EXIT_FORM(NO_VALIDATE);END IF; انا لا اريده يخرج من الصفحه بعد ظهور الرساله وانما فقط يمسح البيانات في الشاشه تقديم بلاغ
بتاريخ: 25 يوليو 201213 سنة comment_226482 السلام عليكمقم بايقاف هذه الجملة: EXIT_FORM(NO_VALIDATE); تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.