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

求大神解释:为什么同一代码用PB9.0和10.0结果不同呢?解决方案

热度:65   发布时间:2016-04-29 08:18:00.0
求大神解释:为什么同一代码用PB9.0和10.0结果不同呢?
代码为:
C# code
string ls_passwordif 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 ifend 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)

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