通过PB修改SYBASE数据库账号的密码
一、定义全局变量,在登陆时取登陆用户名string gs_logid
二、在窗体上建三个SLE控件,用来修改密码,在修改密码的按纽用以下命令
String ls_string
String ls_pass1 //旧密码
String ls_pass2,ls_pass3 //新密码
ls_pass1 = sle_1.text
ls_pass2 = sle_2.text
ls_pass3 = sle_3.text
if len(ls_pass1) <= 5 then
MessageBox("错误!","请正确输入原密码.",stopsign!)
RETURN
END IF
if ls_pass2 <> ls_pass3 or len(ls_pass2) <= 5 then
MessageBox("错误!","新密码与较验密码必须一致,密码长度不能小于6位。",stopsign!)
RETURN
END IF
ls_string = "sp_password '" + ls_pass1 + "','" + ls_pass2 + "','" + gs_logid+ "'"
sqlca.AutoCommit = True
EXECUTE Immediate :ls_string Using sqlca;
sqlca.AutoCommit = False
IF sqlca.SQLCode = -1 THEN
MessageBox("改口令失败!",sqlca.SQLErrText,stopsign!)
RETURN
END IF
sle_1.text = ""
sle_2.text = ""
sle_3.text = ""
MessageBox("修改密码完成!","请牢记新密码,新密码在下次登陆时生效,本密码在ERP与本系统中通用.") 理论上所有PB版本通用,8.X+ASE12.5X测试通过。 楼主的数据库结构是什么样的,比如useid,usepassword 等?
是不是可以直接用sql语句来做 偶是用ASE的用户来处理的,不用自己的表。登陆也是用的ASE账号。 楼主能不能说明一下ASE呀,非常感谢 以此方法sp_help 也能在pb中执行了? 应该不行,得不到结果。 以此方法sp_help 也能在pb中执行了? 应该不行,得不到结果。
JohnPhan 发表于 2009-4-2 13:51 http://www.sybasecn.com/sybase/images/common/back.gif
sp_password是没的返回值的
而sp_help有返回信息要接受,不一样的
页:
[1]