我在做cxgrid的全文检索的时候,是这样设计的:按列使用for循环查,之间使用or
附上部分代码作为参考 begin
DataController.Filter.Root.BoolOperatorKind := fboOr; //列之间为or关系
sSearchContent := '%' + Trim(sEdit.Text) + '%';
for I := 0 to ColumnCount - 1 do
begin
Application.ProcessMessages; //防止进程阻塞
if Columns[I].Visible then //如果是可见列,则加入全文搜索范围
DataController.Filter.Root.AddItem(Columns[I], foLike, sSearchContent, sSearchContent);
end;
DataController.Filter.Active := True;
end
附上部分代码作为参考 begin
DataController.Filter.Root.BoolOperatorKind := fboOr; //列之间为or关系
sSearchContent := '%' + Trim(sEdit.Text) + '%';
for I := 0 to ColumnCount - 1 do
begin
Application.ProcessMessages; //防止进程阻塞
if Columns[I].Visible then //如果是可见列,则加入全文搜索范围
DataController.Filter.Root.AddItem(Columns[I], foLike, sSearchContent, sSearchContent);
end;
DataController.Filter.Active := True;
end
where (a='李' or b='李' or c='李') and (a='王' or b='王' or c='王')
where 姓名1||姓名2||姓名3 like '%李%'
and 姓名1||姓名2||姓名3 like '%王%' 其中||在oracle里表示字符串连接,其它数据库改为相应的符号即可。
where 姓名1||姓名2||姓名3 like '%李%'
and 姓名1||姓名2||姓名3 like '%王%' 其中||在oracle里表示字符串连接,其它数据库改为相应的符号即可。
这个好象那有点问题。什么问题?
是不是mssql数据库??
WHERE charindex('李', 姓名1+姓名2+姓名3)>0 and charindex('王', 姓名1+姓名2+姓名3)>0
我试过这个没问题。
这个好象那有点问题。什么问题?
是不是mssql数据库?? 不是啊是access 难道不支持?