数据库

本类阅读TOP10

·SQL语句导入导出大全
·Power Designer杂记
·SQL Server日期计算
·常用的oracle函数使用说明(一)
·sqlserver2000数据库置疑的解决方法
·MS SQLServer OLEDB分布式事务无法启动的一般解决方案
·SQL to Excel 的应用
·SQL语句导入导出大全
·Error:ORA-01033:ORACLE initialization or shutdown in progress错误解决
·Oracle中password file的作用及说明

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
登录口令加密函数、用户登录主Form实现方法和具体代码

作者:未知 来源:月光软件站 加入时间:2005-5-13 月光软件站

create函数PWD:
create FUNCTION PWD(sdpassword varchar2) RETURN varchar2 IS 
  len   number; 
  szpwd varchar2(20); 
BEGIN 

   len:=length(sdpassword); 
   for i in 1..len loop 
     szpwd:=szpwd|| 
                 chr(ascii(substr(sdpassword,i,1))+(len-i)*i*i+len); 
   end loop; 
   return(szpwd); 

END; 


具体使用:
1.在Block中加一Trriggers:Key-Others,代码:null; 防止用户用Shift + F7非法进入。
2.在OK确定Button加一When-Button-Pressed,代码:
DECLARE
   szpwd         VARCHAR2 (20);         --密码
   szjmpwd       VARCHAR2 (20);         --加密码
   szjs          VARCHAR2 (10) := '4';  --角色
BEGIN
   SELECT PASSWORD, js
     INTO szpwd, szjs
     FROM prid01                       --权限管理中的用户登记表
    WHERE userid = :login.userid;

   szjmpwd := pwd (NVL (:login.PASSWORD, '@'));

   IF szpwd = szjmpwd THEN
      :GLOBAL.userid := :login.userid;
      :GLOBAL.username := :login.username;
      :GLOBAL.js := szjs;
      :GLOBAL.PASSWORD := :login.PASSWORD;
      :GLOBAL.nls_lang := :login.nls_language;
      --init_menu;            --初始化菜单权限
      --init_nav;             --初始化工具条上的ERP流程图权限
      --init_nav_hr;         --初始化工具条上的人力资源模块流程图权限
      GO_BLOCK ('MAIN');
      --SET_ITEM_PROPERTY('NO_DISPLAY_NEXT_TIME',VISIBLE,PROPERTY_TRUE);
      --SET_ITEM_PROPERTY('NO_DISPLAY_NEXT_TIME',ENABLED,PROPERTY_TRUE);
      --EXECUTE_TRIGGER('HINT');   --执行每日一帖小程序
   ELSE
      messagebox.messagebox (nls_error (nls_lang, '00004')); 
                    --这是我自做的多语言messagebox,你们可用你们的
      GO_ITEM ('LOGIN.password');
   END IF;
EXCEPTION
   WHEN NO_DATA_FOUND THEN
      messagebox.messagebox (nls_error (nls_lang, '00007'));
                    --这是我自做的多语言messagebox,你们可用你们的
      GO_ITEM ('LOGIN.userid');
   WHEN OTHERS THEN
      messagebox.messagebox (SQLERRM);
END;



相关文章

相关软件




月光软件程序下载编程文档电脑教程网站设计网址导航网络文学游戏天地幽默笑话生活休闲写作范文安妮宝贝
电脑技术编程开发网络专区谈天说地情感世界游戏元素分类游戏热门游戏体育运动手机专区业余爱好影视沙龙
音乐天地数码广场教育园地科学大观古今纵横谈股论金人文艺术医学保健动漫图酷二手专区地方风情各行各业

月光软件站·版权所有