如何用filter过滤出query的空字段

如何用filter过滤出query的空字段 Delphi / Windows SDK/API
http://www.delphi2007.net/DelphiDB/html/delphi_20061225155329114.html
想过滤出某字段值为空的记录  
  paradox   表,使用query  
  设置filter:=   '字段名=NUll'  
  不能执行?  
 

filter:=   '字段名   in   NUll'

filter   =   'FieldName   is   null'吧

 
   
  在access中,这么写     fieldname=null

好像is也不行     ^-^!!!

用=  
  给你做了一个例子:  
  数据表结构如下:表名,temp  
  a   数值类型    
  b   文本  
   
  代码如下:  
        with   Query1   do  
        begin  
              Close;  
              SQL.Clear;  
              SQL.Add('select   *   from   temp');  
   
              Filter   :=   'b=null';  
              Filtered   :=   true;//估计你是没写这个  
              Open;  
        end;

B如果是文本类型,在SQLSERVER中是不行的  
  用这个判断:Datalength(B)>0

Filter   :=   'b=null';  
              Filtered   :=   true;//估计你是没写这个  
              Open;  
  不行的,我试过   filtered:=true   ,我已写了  
  b   为char型,   Filter:='b=''   '''都可以,但一用到null   就报错  
  capbility   can   not   supported  
    is,   in   都不行  
  paradox   表  
 

 
  按照我例子中的,新建一个表,  
   
  数据表结构如下:表名,temp  
  字段名   a   数值类型   主键  
  字段名   b   文本  
  数据库是paradox   表  
   
  输入一些测试数据  
  然后在DELPHI新建工程,不要用你以前那个,用下面代码,看看行不行。不过在我机器上是没有任何问题的。  
  代码如下:  
        with   Query1   do  
        begin  
              Close;  
              SQL.Clear;  
              SQL.Add('select   *   from   temp');  
   
              Filter   :=   'b=null';  
              Filtered   :=   true;//估计你是没写这个  
              Open;  
        end;

新建一个表可以的,  
  我再找找原因,  
  另外如何过滤出为null   或者为trim(filed.value)=''的记录

楼上飞哥,   就是用的   field   is   null,   这个可以

找到原因,当sql   加入where   条件且条件是date型,并且使用了query的paramByName()做为传递参数的方式,则使用null   出错,改为不用   sDate=:sd1的方式,直接加入,则过滤时用null就不会出错.

转载于:https://www.cnblogs.com/delphi2007/archive/2008/10/20/1314881.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值