关于Filter,如何实现前后通配符?

w_sabre 2002-12-11 09:45:23
TTable中,如果设定filter=''fieldname'='fieldvalue*'',那么只能搜索出以fieldvalue开头的记录,如何实现象SQL语句的Like '%..fieldvalue..%'这样的功能呢?就是说我想找出所有含有fieldvalue的记录。

fieldvalue是可变的,也就是用户输入的。
...全文
538 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
My_first 2002-12-17
  • 打赏
  • 举报
回复
table1.filtered:=false;
table1.filter:='name like '+''''+'%'+trim(edit1.text)+'%'+''''
table1.filtered:=True;
w_sabre 2002-12-16
  • 打赏
  • 举报
回复
我知道ADOQuery是可以的,请大家帮忙考虑一下TTable行吗?
w_sabre 2002-12-16
  • 打赏
  • 举报
回复
TTable好像不支持Like吧?
521zhou 2002-12-16
  • 打赏
  • 举报
回复
like '*-*'
zybegin 2002-12-15
  • 打赏
  • 举报
回复
adoquery1.filter:='name like '+''''+'%'+'一'+'%'+''''
chenybin 2002-12-15
  • 打赏
  • 举报
回复
设置FILTER就行了

可以LIKE
w_sabre 2002-12-15
  • 打赏
  • 举报
回复
错误提示:Capability not supported.
我用的是TTable
registry 2002-12-15
  • 打赏
  • 举报
回复
adoquery1.filter:='name like ''%一%'''
adoquery1.filted:=true;
norxi 2002-12-15
  • 打赏
  • 举报
回复
好象是可以用like的
iris_zhu 2002-12-15
  • 打赏
  • 举报
回复
to zybegin(talaha)
这样可以吗?在sql语句中可以啊,这里好象是不行啊
w_sabre 2002-12-14
  • 打赏
  • 举报
回复
我是说如果输入包在含在内的字的话,结果一定是大于0啊.
比如说我想查找"中国第一汽车制造厂",这个单位的名称,怎样输入"一",就把它找到.用Filter
w_sabre 2002-12-14
  • 打赏
  • 举报
回复
这我知道.
thp 2002-12-14
  • 打赏
  • 举报
回复
Pos:在字符串中找到匹配的為非零(要找的字符串的位置),否則返回-1
w_sabre 2002-12-14
  • 打赏
  • 举报
回复
用Pos的话,结果一定是大于0啊,不论这个字在哪里,一定是存在的呀.
newyj 2002-12-11
  • 打赏
  • 举报
回复
估计只能在onfilter中计算了
if pos(fieldvalue,fields[3].asstring)>0 then
Accept := true
else
Accept := false;

2,497

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧