在多用户大型数据库系统用户对数据库操作权限会有区别因此我们需要设计系统用户登录窗口来完成用户确认和权限控制通常我们都是在数据库中添加张人员表保存人员信息、登录用户名以及口令但这种思路方法安全性并不是很高其它我们可以使用该思路方法登录窗口时需要采用动态生成数据库连接代码然后连接数据库如果用户存在并且录入口令正确则数据库连接成功这样便可以打开系统主窗口了登录窗口设计如图1
设计“确定”按钮Clicked事件代码如下:
w_login.visible = false
//暂时隐藏登录窗口
Open(w_welcome)
//打开欢迎或者数据库连接等待窗口
SetPoer(HOURGLASS!)
//将光标变成沙漏型
ls_user,ls_pass
//读取用户录入用户名和口令
ls_user = sle_username.text
ls_pass = sle_password.text
//从注册表中读取所有数据库信息并存储在“sqlca”中其中gs_key是你软件Software注册位置
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;
//连接数据库
sqlca.sqlcode<>0 then
//数据库连接失败介绍说明用户录入口令不正确或者不存在该用户
close(w_welcome)
//关闭等待窗口
messagebox("登录""数据库连接失败!")
sle_password.text=""
sle_password.focus
success=false
w_login.visible=true
//数据库连接成功!用户验证正确
success=true
open(w_)//进入主窗口
close(w_parent)
end
使用本思路方法时对系统维护(添加、删除、权限设置等)必须到Sybase Central中进行对系统维护人员有定要求
最新评论