代码为:
- 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)
贴上来具体的错误