急!pb中调用sqlserver系统存储过程sp_password更改系统用户密码不成功

zoge 2004-08-07 06:19:46
我的代码如下:

string ls_pwd

DECLARE p_password PROCEDURE FOR sp_password
@old= null ,
@new=:ls_pwd,
@loginame="mycount" using sqlca;
SQLCA.AutoCommit = TRUE
EXECUTE p_password;
SQLCA.AutoCommit = false

if sqlca.sqlcode=-1 then
Messagebox('提示',"系统密码更改不成功")
return
end if

CLOSE p_password;

用查询分析器可以修改密码,但在pb中sqlca.sqlcode的值总是等于-1,好烦,领导坐在我旁边等我解决这个问题,请各位大虾帮帮忙!
...全文
380 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
zoge 2004-09-09
  • 打赏
  • 举报
回复
多谢各位,的确是用户权限问题,一直忘了来结贴,今天结掉
tw829 2004-08-10
  • 打赏
  • 举报
回复
嗨,這肯定是用戶權限的問題啦!
不信你去檢察下,你sqlca所聯的用戶是誰啦!
zysys 2004-08-09
  • 打赏
  • 举报
回复
你连数据库,是用什么方式的,是直接连还是ODBC。
1。你在查询分析器中怎么写的,是用SA 登陆的,还是用mycount。
xiao_bai 2004-08-09
  • 打赏
  • 举报
回复
估计是用户权限的问题。用查询分析器修改时已经通过了检查,用程序连接数据库后可能没有通过吧。用sa看行不
lzheng2001 2004-08-07
  • 打赏
  • 举报
回复
1.检查SLQCA中使用的登录用户是否有权限更改, 并且用下面这句看看详细的错误信息
if sqlca.sqlcode=-1 then
Messagebox('提示',sqlca.sqlerrtext)
return
end if

然后把信息贴出来,问题就好解决了.

2.我觉得@old= null ,这里有点问题,在PB中运行好象要必须提供OLD PASSWORD的

总之要先看看Messagebox('提示',sqlca.sqlerrtext) 这句返回的信息!


ice2water 2004-08-07
  • 打赏
  • 举报
回复
使用sa用户试试

1,077

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 相关问题讨论
社区管理员
  • 基础类社区
  • WorldMobile
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧