pb 修改密码 不能更新

来源:百度知道 编辑:UC知道 时间:2024/06/01 03:27:02
做了个修改密码的窗口,代码如下:
string mima,usename
select 审核管理员.用户名,
审核管理员.密码
into :usename,
:mima
from 审核管理员
where 审核管理员.用户名 = :sle_4.text;
if sle_1.text="" or sle_2.text="" or sle_3.text="" or sle_4.text="" or sle_3.text<>sle_4.text then
messagebox("错误!","用户名或密码不能为空,并且新密码不能两次输入相同!")
else
if usename=sle_1.text and mima=sle_2.text then
update "审核管理员"
set "密码" = :sle_4.text
where "审核管理员"."用户名" =sle_1.text
messagebox("密码修改成功!","请记住新密码,下次登录时请使用新密码!")
else
messagebox("错误!","用户名或密码错误,请重新输入!")
end if
end if
不知道哪有毛病,老出现一个C0031:syntax error

你太粗心的毛病:

1)Where 审核管理员.用户名 = :sle_4.text;
sle_4.text 不能作为SQL语句里的变量进行传值操作,应使用变量取值,之后使用变量。

2)set "密码" = :sle_4.text
同第一个问题

3)where "审核管理员"."用户名" = sle_1.text
这句话本身就有3个问题:
a. 同第一第二个问题;
b. 连冒号都没有;
c. SQL语句应当以分号结尾,你遗漏了。

因此,syntax error(语法错误)就绝对没有怀疑之处了。

这句改成:
update "审核管理员"
set "密码" = :sle_4.text
where "审核管理员"."用户名" =:sle_1.text;