الانتقال إلى المحتوى

مساعدة فى كود الباسوورد


منولة

Recommended Posts

السلام عليكم
اختي...استخدمي هذا الجدول للمستخدمين ونظام الصلاحيات

CREATE TABLE  "USERS_ACCOUNTS" 
  (	"USR_ID" VARCHAR2(100), 
"USR_ANAME" VARCHAR2(100), 
"USR_ENAME" VARCHAR2(100), 
"USR_PASSWORD" VARCHAR2(50), 
"USR_TYPE" NUMBER, 
"USR_STATUS" NUMBER, 
 CONSTRAINT "GBT_LOGIN_PK" PRIMARY KEY ("USR_ID") ENABLE
  )
/



واعملي لهذا الجدول شاشة على الديفيلوبر
---------------------------------------------

PROCEDURE USERS_ACC IS
VN_COUNT   NUMBER(10) := 0; 
VV_USRSTS  NUMBER(1)  := ''; 
VV_USRTYPE NUMBER(1)  := '';
VV_TYPE	NUMBER;

BEGIN 
----------------------- áÊÃßÏ ãä ÇÓã ÇáãÓÊÎÏã æßáãÉ ÇáÓÑ
BEGIN 
SELECT COUNT(1)--- ÊÇßÏ ãä æÌæÏ ÇáãÓÊÎÏã Ýí ÞÇÚÏÉ ÇáÈíÇäÇÊ
INTO   VN_COUNT 
FROM   GBT_LOGIN
WHERE  UPPER(USR_ID) = UPPER(:BLKLOGIN.USR_ID) AND UPPER(USR_PASSWORD) = UPPER(:BLKLOGIN.USR_PASSWORD);
EXCEPTION WHEN NO_DATA_FOUND THEN
VN_COUNT := 0;
END;

IF VN_COUNT = 0 THEN
:PARAMETER.P_TRIALS := NVL(:PARAMETER.P_TRIALS,0) + 1;--- ãÊÛíÑ äÖÚå áßí äÚØí ÇáãÓÊÎÏã ËáÇË ãÍÇæáÇÊ ááÏÎæá æÈÚÏåÇ íÎÑÌ ãä ÇáÈÑäÇãÌ 
IF :PARAMETER.P_TRIALS = 3 THEN
EXIT_FORM(NO_COMMIT,NO_VALIDATE);
ELSE
MESSAGE('ÇáÑÌÇÁ ÇáÊÃßÏ ãä ÅÓã ÇáãÓÊÎÏã Çæ ßáãÉ ÇáãÑæÑ');
  MESSAGE('ÇáÑÌÇÁ ÇáÊÃßÏ ãä ÅÓã ÇáãÓÊÎÏã Çæ ßáãÉ ÇáãÑæÑ');
GO_BLOCK('BLKLOGIN'); ---ÇáÐåÇÈ Çáì ÇáÈáæß 
CLEAR_BLOCK(NO_COMMIT);
GO_BLOCK('BLKLOGIN');
END IF;
ELSE

BEGIN 
-- ÇÎÐ ÇáãÚáæãÇÊ ÇáÎÇÕÉ ÈÇáãÓÊÎÏã
SELECT USR_STATUS , USR_TYPE
INTO   VV_USRSTS , VV_USRTYPE
FROM   GBT_LOGIN 
WHERE  UPPER(USR_ID) = UPPER(:BLKLOGIN.USR_ID) AND UPPER(USR_PASSWORD) = UPPER(:BLKLOGIN.USR_PASSWORD);
EXCEPTION WHEN NO_DATA_FOUND THEN
NULL;
END;
----------------------------------------------------------------------------------------------------------
:GLOBAL.P_USER_TYPE:=VV_USRTYPE;	
:GLOBAL.P_USER_ID:=:BLKLOGIN.USR_ID; 
NEW_form('F:GBT_SYS\FRM\MAIN_PAGE.fmx');
CLEAR_BLOCK(NO_COMMIT);
END IF;
END;



---------------------- وهذا الكود اكتبيه بشاشة الدخول
ننتظر الرد
بالتوفيق

رابط هذا التعليق
شارك

SQL> CREATE TABLE "USERS_ACCOUNTS"
2 ( "USR_ID" VARCHAR2(100),
3 "USR_ANAME" VARCHAR2(100),
4 "USR_ENAME" VARCHAR2(100),
5 "USR_PASSWORD" VARCHAR2(50),
6 "USR_TYPE" NUMBER,
7 "USR_STATUS" NUMBER,
8 CONSTRAINT "GBT_LOGIN_PK" PRIMARY KEY ("USR_ID") ENABLE
9 )
10 /

E? E???? ?I??.
SQL> commit;
SQL> desc USERS_ACCOUNTS;
C?C?? IC??? C????
----------------------------------------- -------- ----------------------------
USR_ID NOT NULL VARCHAR2(100)
USR_ANAME VARCHAR2(100)
USR_ENAME VARCHAR2(100)
USR_PASSWORD VARCHAR2(50)
USR_TYPE NUMBER
USR_STATUS NUMBER

بعد اذن حضرتك
عاوزة تترجم اي معنى الاعمدة دي
وهل كل الاعمدة دي مطلوب اعبيها
وعاوزة تقولي اي معنى الرسائل لي في كود التريقر

(معليش اسئلتي كثيرة بس انا مبتدئة في الاوراكل)
ومعنديش خلفية اوي في الانجليزي

رابط هذا التعليق
شارك

CREATE TABLE  "USERS_ACCOUNTS" 
  (	"USR_ID" VARCHAR2(100),   ----------- اسم المستخدم(الدخول)
"USR_ANAME" VARCHAR2(100),  --------------- اسمه باللغة العربية وهادا OPTIONAL
"USR_ENAME" VARCHAR2(100),   ---- اسمه باللغة الانجليزية وهادا OPTIONAL
"USR_PASSWORD" VARCHAR2(50), ---- الباسوورد
"USR_TYPE" NUMBER,  ---- حقل الصلاحيات وممكن تعمليه LIST  ITEM وكل صلاحيى تعطيها رقم
"USR_STATUS" NUMBER,  --- هادا OPTIONAL ممكن تستغني عنه بالوقت الحاضر ... وهو عبارة عن حالة المستخدم ويكون CHECK BOX ازا عملتي شيك على اي مستخدم فالحساب تاعه بتقفل
 CONSTRAINT "GBT_LOGIN_PK" PRIMARY KEY ("USR_ID") ENABLE
  )
/

---------------------------------------------------------------------------------------
PROCEDURE USERS_ACC IS
VN_COUNT   NUMBER(10) := 0; 
VV_USRSTS  NUMBER(1)  := ''; 
VV_USRTYPE NUMBER(1)  := '';
VV_TYPE	NUMBER;

BEGIN 
BEGIN 
INTO   VN_COUNT 
FROM   GBT_LOGIN
WHERE  UPPER(USR_ID) = UPPER(:BLKLOGIN.USR_ID) AND UPPER(USR_PASSWORD) = UPPER(:BLKLOGIN.USR_PASSWORD);
EXCEPTION WHEN NO_DATA_FOUND THEN
VN_COUNT := 0;
END;
------- هنا بشيك على اليوزر نيم والباسوورد الخزنين بالداتا بيز
IF VN_COUNT = 0 THEN
:PARAMETER.P_TRIALS := NVL(:PARAMETER.P_TRIALS,0) + 1; 
IF :PARAMETER.P_TRIALS = 3 THEN
EXIT_FORM(NO_COMMIT,NO_VALIDATE);
ELSE
MESSAGE('PLEASE...BE SURE FROM USER NAME OR PASSWORD');
  MESSAGE('PLEASE...BE SURE FROM USER NAME OR PASSWORD');
GO_BLOCK('BLKLOGIN'); 
CLEAR_BLOCK(NO_COMMIT);
GO_BLOCK('BLKLOGIN');
END IF;
ELSE
-------------- وهنا بشيك على عدد المرات المدخله لليوزر او الباسوورد الخطأ ...ازا كانت اكتر من 3 فالبرنامج بيغلق
BEGIN 
SELECT USR_STATUS , USR_TYPE----- وهنا بشيك على TYPE & STATUS لليوزر الحالي 
INTO   VV_USRSTS , VV_USRTYPE
FROM   GBT_LOGIN 
WHERE  UPPER(USR_ID) = UPPER(:BLKLOGIN.USR_ID) AND UPPER(USR_PASSWORD) = UPPER(:BLKLOGIN.USR_PASSWORD);
EXCEPTION WHEN NO_DATA_FOUND THEN
NULL;
END;
----------------------------------------------------------------------------------------------------------
:GLOBAL.P_USER_TYPE:=VV_USRTYPE;	----- وهنا بحط TYPE داخل GLOBAL VARIABLE عشان نظام الصلاحيات
:GLOBAL.P_USER_ID:=:BLKLOGIN.USR_ID; 
NEW_form('F:GBT_SYS\FRM\MAIN_PAGE.fmx');
CLEAR_BLOCK(NO_COMMIT);
END IF;
END;
-------------------------------

اي سؤال انا جاهز
بالتوفيق

تم تعديل بواسطة PALI.ORACLE
رابط هذا التعليق
شارك

  • بعد 1 شهر...

-------------- وهنا بشيك على عدد المرات المدخله لليوزر او الباسوورد الخطأ ...ازا كانت اكتر من 3 فالبرنامج بيغلق

BEGIN SELECT USR_STATUS , USR_TYPE----- وهنا بشيك على TYPE & STATUS لليوزر الحالي 
INTO   VV_USRSTS , VV_USRTYPE
FROM GBT_LOGIN WHERE UPPER(USR_ID) = UPPER(:BLKLOGIN.USR_ID) AND UPPER(USR_PASSWORD) = UPPER(:BLKLOGIN.USR_PASSWORD);
EXCEPTION WHEN NO_DATA_FOUND THEN
NULL;
END;


كلو تمااام بس طلع لي ايرور في هذا البارت .. :(

ممكن المسااعده ؟؟؟

رابط هذا التعليق
شارك

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

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

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

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   تمت استعادة المحتوى السابق الخاص بك.   مسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

جاري التحميل
×
×
  • أضف...

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

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