哪位高手能介绍一下Table的Filter的写法(主要是+和'的用法)
谁能介绍一下Table的Filter的写法(主要是+和'的用法)
希望高手能详细讲解一下,如果有例子说明的话更好了:)
------解决方案--------------------
利用TTable和TQuery的Filter属性
1.在设计时设置Filter属性
例如,设置Filter为:Country=′China′然后改变Filtered属性为True(注意,Filtered为True时过滤才有效)。则只能看到对应的Country字段内容为‘China’的记录。
设置Filter时可以使用的操作符有:<、>、<=、>=、=、<>、AND、OR、NOT。
例如,设置Filter为:CustNo>=1000andCustNo<=5000,则只能看到顾客号在1000与5000之间的顾客记录。
2.在程序运行期间进行动态过滤
要在程序运行时改变Filter属性,这包括两种情况:
(1)操作符右边为常量,例如:Table1Filter:=′State′+′=′+′′′HI′′′;
注意:字符串常量必须用三对单引号括起来。
(2)操作符右边不为常量,可能是通过一个变量指定的值,或由一输入框给出的值。这时需要用到Format函数。其代码形式为:Table1Filter:=Format(′State′+′=′+′′′%S′′′,[StateValue]);其中StateValue为已经赋值的一个字符串变量,也可以为其他形式,例如:Edit1Text。
------解决方案--------------------
和普通的WHERE语句没啥区别
如果是字符串的可以用
'字段='+QuotedStr('字符串');
------解决方案--------------------
希望高手能详细讲解一下,如果有例子说明的话更好了:)
------解决方案--------------------
利用TTable和TQuery的Filter属性
1.在设计时设置Filter属性
例如,设置Filter为:Country=′China′然后改变Filtered属性为True(注意,Filtered为True时过滤才有效)。则只能看到对应的Country字段内容为‘China’的记录。
设置Filter时可以使用的操作符有:<、>、<=、>=、=、<>、AND、OR、NOT。
例如,设置Filter为:CustNo>=1000andCustNo<=5000,则只能看到顾客号在1000与5000之间的顾客记录。
2.在程序运行期间进行动态过滤
要在程序运行时改变Filter属性,这包括两种情况:
(1)操作符右边为常量,例如:Table1Filter:=′State′+′=′+′′′HI′′′;
注意:字符串常量必须用三对单引号括起来。
(2)操作符右边不为常量,可能是通过一个变量指定的值,或由一输入框给出的值。这时需要用到Format函数。其代码形式为:Table1Filter:=Format(′State′+′=′+′′′%S′′′,[StateValue]);其中StateValue为已经赋值的一个字符串变量,也可以为其他形式,例如:Edit1Text。
------解决方案--------------------
和普通的WHERE语句没啥区别
如果是字符串的可以用
'字段='+QuotedStr('字符串');
------解决方案--------------------
- Delphi(Pascal) code
var i:Integer; begin i:=1; Table1.Filter:='id='+IntToStr(i); Table1.Filtered:=True; end;
------解决方案--------------------
如果后面是日期的话,又应该怎么写,比如EndDate <=2008/9/1的话转成Filter该怎么写?
------------------------------------
adoquery1.Filter:='EndDate<='+Formatdatetime('yyyy-mm-dd',StrToDate('2008/9/1'));//转成相应的日期格式
adoquery1.Filtered:=true;