扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
作者:51cto.com整理 来源:51cto.com 2007年9月15日
关键字: 软件
3、接下来,就是编写一个用户接口,让授权用户随时修改数据库联接参数。窗口界面见下图:(文件名称:dblogon.jpg),窗口上面的控件有:
控件名称 控件属性
sle_server SingleLineEdit
sle_login SingleLineEdit
sle_oldkl SingleLineEdit
sle_pass SingleLineEdit
sle_repass SingleLineEdit
cb_1 commandbutton
cb_2 commandbutton
cb_1命令按钮的clicked事件如下:
string ls_inifile,ls_pass,ls_logid,ls_repass,ls_old
string ls_k,ls_user,ls_sql
ls_inifile ='rsgl.ini'
transaction pub_tr
pub_tr = create transaction
pub_tr.DBMS = ProfileString (ls_inifile, "database", "dbms", "")
pub_tr.LogPass = 'pub'
pub_tr.ServerName = sle_server.text
pub_tr.LogId = "pub"
pub_tr.AutoCommit = False
pub_tr.DBParm = ""
connect using pub_tr;
ls_old = sle_oldkl.text
ls_user = lower(trim(sle_logid.text))
//得到数据库联接原用户口令
select passshadow into :ls_k from tbl_pub_passshadow using pub_tr;
if ls_old <> f_password(ls_k,0) then
messagebox("提示","原口令不对!")
return
end if
//检查核对口令
ls_pass = sle_pass.text
ls_repass = sle_repass.text
if ls_repass <> ls_pass then
messagebox("","核对口令不对,请重新输入!")
return
end if
SetProfileString(ls_inifile, "Database", "Servername",sle_server.text)
SetProfileString(ls_inifile, "Database", "Logid",ls_user)
//修改数据库用户的联接口令
ls_sql = ' alter user '+ls_user+' identified by '+ls_pass
Execute Immediate :ls_sql using sqlca;
ls_pass = f_password(ls_pass,1)
UPDATE TBL_PUB_PASSSHADOW SET PASSSHADOW =:ls_pass using pub_tr ;
commit using pub_tr;
commit using sqlca;
disconnect using pub_tr;
close(parent)
cb_2命令按钮的clicked事件如下:close(parent)
4、到此万事OK
所有代码已在Win98环境下,用PowerBuilder 6.5测试通过。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者