注册 登录
编程论坛 PowerBuilder

求助:关于SQL语句的问题

kappa1915 发布于 2008-08-24 17:39, 1459 次点击
语句如下:
string u_name

select "users"."用户名"
into :u_name
from users
where "users"."用户名"=:sle_name.text;

if u_name=sle_1.text then
    messagebox("提示","该用户已存在!!!")
else
    messagebox("提示","该用户不存在!!!")
end if

为什么变量u_name的值和sle_1.text的值不相等,比如数据库的users表内存在用户名user1,而sle_1.text=user1
4 回复
#2
tomivr2008-08-29 11:41
你写的语句...首先你应该先判断这个sql是否执行成功还是失败,再去判断取到的数据是否与sle_1.text相同
#3
freele_china2008-08-31 11:09
呵呵。
这样写就没有错了

if trim(u_name)=trim(sle_1.text) then
    messagebox("提示","该用户已存在!!!")
else
    messagebox("提示","该用户不存在!!!")
end if
#4
freele_china2008-08-31 11:10
呵呵。
这样写就没有错了

if trim(u_name)=trim(sle_1.text) then
    messagebox("提示","该用户已存在!!!")
else
    messagebox("提示","该用户不存在!!!")
end if
#5
tom98122008-09-01 11:24
if trim(u_name)=trim(sle_1.text) then
    messagebox("提示","该用户已存在!!!")
else
    messagebox("提示","该用户不存在!!!")
end if

上面写的是没有问题,但是如果sql语句执行失败,应该执行
         messagebox("提示","该用户不存在!!!")    
这样你知道是用户不存在,还是sql执行失败??

应该首先判断sql执行情况
    SQLCA.SQLCode
        0      -成功
        100    -不存在
        -1    -失败
1