当前位置: 代码迷 >> PB >> 求大神解释:为啥同一代码用PB9.0和10.0结果不同呢
  详细解决方案

求大神解释:为啥同一代码用PB9.0和10.0结果不同呢

热度:17   发布时间:2016-04-29 07:34:16.0
求大神解释:为什么同一代码用PB9.0和10.0结果不同呢?
本帖最后由 lzp_lrp 于 2012-05-22 23:27:52 编辑
代码为:
string ls_password
if trim(sle_1.text)=gs_password then
messagebox("提示","旧密码错误")
else
if trim(sle_2.text)=trim(sle_3.text) then
ls_password=trim(sle_2.text)
update users
set password=:ls_password
where name=:gs_username and password=:gs_password;
if sqlca.sqlcode<>0 then
messagebox("提示","密码修改不成功")
else
close(parent)
messagebox("提示","密码修改成功")
end if
else
messagebox("提示","两次密码不一致")
end if
end if

其他完全一模一样,把这段代码放在10.0修改密码的按钮上修改成功,但用放在9.0上修改密码却不成功,求大神解释。数据库已连接好,什么变量等已全部定义好。
------解决思路----------------------
数据库不成功的时候弹出
messagebox('',sqlca.sqlerrtext)
------解决思路----------------------
pb9和pb10的最大区别是字符集不同了,10用UNICODE,9用ANSI
------解决思路----------------------
是不是版本兼容问题呢, 关注中....
------解决思路----------------------
我看到的问题是:
1、IF Trim(sle_1.Text) = gs_password THEN
MessageBox("提示","旧密码错误")
  
  sle_1.Text应该是旧密码吧,否则怎么解释update语句中的Password = :gs_password,是的话又怎么解释MessageBox("提示","旧密码错误")

2、update后未见commit,难道autocommit = true
3、Close(Parent)
   MessageBox("提示","密码修改成功")
   这个顺序真难受
------解决思路----------------------
看代码没有问题,pb9中不成功提示什么错误



messagebox('', sqlca.sqlerrtext)

贴上来具体的错误
  相关解决方案