在多用户的大型数据库系统,用户对数据库操作权限会有区别,因此,我们需要设计系统用户登录窗口,来完成用户的确认与权限控制。通常我们都是在数据库中添加一张人员表,保存人员信息、登录用户名以及口令,但这种方法安全性并不是很高。其它,我们可以使用该方法登录窗口时,需要采用动态生成数据库连接代码,然后连接数据库,如果用户存在,并且录入的口令正确,则数据库连接成功,这样便可以打开系统主窗口了,登录窗口设计如图1 。
图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中进行,对系统维护人员有一定要求。
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器