敬业的IT人 >> 编程开发 >> PowerBuilder >> 利用PB实现动态系统用户登录

利用PB实现动态系统用户登录

敬业的IT人 互联网 佚名 2008-1-4 12:24:08

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

利用PB实现动态系统用户登录(图一)

    ·以假乱真 Linux中实现Vista界面
    ·Max粒子系统轻松实现群蝶飞舞
    ·利用VB6.0实现五线谱作曲工具
    ·轻松实现电脑一分为二:Betwin
    ·用VC实现小型矢量图形系统的开发(上)
    ·盗QQ的密码软件模拟实现(VC)
    ·让Excel 2007实现双面打印的两种另类方
    ·洪水攻击原理及代码实现全攻略
    ·用ATL实现VC插件
    ·ASP.NET系统用户权限设计与实现

图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

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

粤ICP备06119539号
Copyright CiscoSky.Org,Some Rights Reserved.
Email:me1228#tom.com