起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 199|回复: 4

【搞定】TQuery的Locate问题?[结案]

[复制链接]
发表于 2007-9-4 22:44:41 | 显示全部楼层 |阅读模式
Locate查询不到空的字符串。
q:TQuery

这种写法,定位不到
       if q.Locate('FCode','',[]) then//FCode为'',也查询不到
         result:=q.FieldByName('PrintCode').AsString;

这样写,也不行
       if q.Locate('FCode',Variants.VarArrayOf(['']),[]) then//FCode为'',也查询不到
         result:=q.FieldByName('PrintCode').AsString;

换成下面的写法,能得到正确的结果
      begin
        q.First;
        while not q.Eof do begin
          if q.FieldByName('FCode').AsString='' then begin
            result:=q.FieldByName('PrintCode').AsString;
            Break;
          end;
          q.Next;
        end;
      end;

版本:2611
回复

使用道具 举报

发表于 2007-9-5 09:40:44 | 显示全部楼层
楼主,你参数写错了,如果需要查找空的记录参数应该nil,不是'' 。
回复 支持 反对

使用道具 举报

发表于 2007-9-6 09:18:02 | 显示全部楼层
楼主,问题解决了吗?请反馈
回复 支持 反对

使用道具 举报

发表于 2007-9-12 08:55:39 | 显示全部楼层
由于楼主长时间未跟帖,此帖先结,有问题请再开新帖.
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-9-12 11:31:41 | 显示全部楼层
我已经标记为搞定了。
上面是正解。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-1-16 00:15 , Processed in 0.037229 second(s), 16 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表