您的位置: 首页-> 电脑文摘-> 数据库类-> PowerBuilder-> 正文

利用PB实现动态系统用户登录
作者佚名 来源InterNet 加入时间:2005-1-31
在多用户的大型数据库系统,用户对数据库操作权限会有区别,因此,我们需要设计系统用户登录窗口,来完成用户的确认与权限控制。通常我们都是在数据库中添加一张人员表,保存人员信息、登录用户名以及口令,但这种方法安全性并不是很高。其它,我们可以使用该方法登录窗口时,需要采用动态生成数据库连接代码,然后连接数据库,如果用户存在,并且录入的口令正确,则数据库连接成功,这样便可以打开系统主窗口了,登录窗口设计如图1 。  

  设计“确定”按钮Clicked事件的代码如下:

  w_login.visible = false

  //暂时隐藏登录窗口

  Open(w_welcome)

  //打开欢迎或者数据库连接等待窗口

  SetPointer(HOURGLASS!)

  //将光标变成沙漏型

  string ls_user,ls_pass

  //读取用户录入的用户名与口令

  ls_user = sle_username.text

  ls_pass = sle_password.text

  //从注册表中读取所有数据库信息并存储在“sqlca”中,其中gs_key是你的软件注册位置

  RegistryGet(gs_hkey, "DBMS", RegString!, sqlca.DBMS)

  RegistryGet(gs_hkey, "Database", RegString!, sqlca.Database)

  //生成数据库连接参数,除了用户名与口令外,其他由系统的需要而定。

  SQLCA.DBParm += ";UID="+ls_user+";PWD="+ls_pass+&&"',PBUseProcOwner='Yes',

  ConnectOption='SQL_DRIVER_CONNECT,SQL_DRIVER_NOPROMPT'"

  CONNECT using sqlca;

  //连接数据库

  if sqlca.sqlcode<>0 then

  //数据库连接失败,说明用户录入口令不正确,或者不存在该用户

  close(w_welcome)

  //关闭等待窗口

  messagebox("登录","数据库连接失败!")

  sle_password.text=""

  sle_password.setfocus()

  success=false

  w_login.visible=true

  else

  //数据库连接成功!用户验证正确

  success=true

  open(w_main)//进入主窗口

  close(w_parent)

  end if

  使用本方法时,对系统的维护(添加、删除、权限设置等),必须到Sybase Central中进行,对系统维护人员有一定要求。


[文章录入员:nancy]

相关文章
  • 如何在PB中制作特殊形状数据窗口或按钮
  • PB和EAServer共筑多层应用架构
  • PB中的数据窗口自动刷新技术
  • PB中读取地磅BCD解码
  • PB通过OLEObject使用Word
  • PB动态报表格式自由定义的实现
  • 为PB的TreeView实现同步选择
  • 如何用pb实现MSACCESS数据库的图片字段存取
  • 在PB中应用灵活多样的排序
  • 在PB中如何使用Microsoft Outlook发送邮件
  • 相关软件:
    ::PCBOOKCN'ADS::


    ::PowerBuilder::
    ACCESS
    MS SQL
    MySQL
    Oracle
    Foxpro
    PowerBuilder
    Sybase
    其它
    ::阅读排行::
    ·浅析PowerBuilder下动...
    ·PowerBuilder连接Sy...
    ·用Powerbuilder开发W...
    ·在powerbuilder中向E...
    ·PB中读取地磅BCD解码
    ·PB通过OLEObject使用W...
    ·在PowerBuilder中操作...
    ·PB动态报表格式自由定义的实现
    ·PB开发Sybase数据库应用技...
    ·如何在PB中制作特殊形状数据窗口...