s := '(cbs_code_lid'+' like '''+cbscodeLid+GetSeparator(tempquery1, 'CST_CBS_CODE', ProjId)
+'%'') or (cbs_code_lid'+'='''+cbscodeLid+''') ';
s := Format('(%s)', [s]) ; if IsShowAll then
begin
if cbx1.checked then //显示系统项
filter := s//CreateFullCodeFilterStr('cbs_code_lid', cbscodeLid)
else
filter := '(' + s + ' and (CST_type = ''CBS''))';
end else
begin
if cbx1.checked then //显示系统项
filter := '(cbs_code_sid = ' + IntToStr(cbsCodeSid) + ')'
else
filter := '((cbs_code_sid = ' + IntToStr(cbsCodeSid) + ')' + ' and (CST_type = ''CBS''))';
end;
showmessage(filter);
query.filtered := false;
query.Filter := filter;
query.filtered := true;
上面拼出来的字符串filter不能使用,请问,是哪里有问题吗?
+'%'') or (cbs_code_lid'+'='''+cbscodeLid+''') ';
s := Format('(%s)', [s]) ; if IsShowAll then
begin
if cbx1.checked then //显示系统项
filter := s//CreateFullCodeFilterStr('cbs_code_lid', cbscodeLid)
else
filter := '(' + s + ' and (CST_type = ''CBS''))';
end else
begin
if cbx1.checked then //显示系统项
filter := '(cbs_code_sid = ' + IntToStr(cbsCodeSid) + ')'
else
filter := '((cbs_code_sid = ' + IntToStr(cbsCodeSid) + ')' + ' and (CST_type = ''CBS''))';
end;
showmessage(filter);
query.filtered := false;
query.Filter := filter;
query.filtered := true;
上面拼出来的字符串filter不能使用,请问,是哪里有问题吗?
解决方案 »
- delphi7中使用sql语句的提问
- 请教:关于Delphi调用其他程序 急啊!在线等,请高手指点!
- 发个贴,不为别的,就为了看看自己的头像..... *_______*
- 各位大侠:如何用一支程式控制另外一支程式在规定时间关闭
- 紧急求助:在DELPHI中怎样调试TActiveForm??
- 心情不好。散分
- 关于StatusBar的AutoHint问题
- 我有一本<<Delphi 6 程序员开发指南>>PDF电子版,又想要得吗?
- 怎样实现资源管理右边listview的效果?
- 非常奇怪的现象。。。
- WebBrowser控件,如何不让Webbrowser下载网页中的图像或Flash或背景音乐之类的东西?
- 请问如何设置DBGridEh 的某列显示下拉列表?
s := '(cbs_code_lid like '+ QuotedStr(cbscodeLid+GetSeparator(tempquery1, 'CST_CBS_CODE', ProjId) +'%') + ') or (cbs_code_lid=' + QuotedStr(cbscodeLid)+ ') ';
s := Format('(%s)', [s]) ; if IsShowAll then
begin
if cbx1.checked then //显示系统项
filter := s//CreateFullCodeFilterStr('cbs_code_lid', cbscodeLid)
else
filter := '(' + s + ' and (CST_type = ''CBS''))';
end else
begin
if cbx1.checked then //显示系统项
filter := '(cbs_code_sid = ' + IntToStr(cbsCodeSid) + ')'
else
filter := '((cbs_code_sid = ' + IntToStr(cbsCodeSid) + ')' + ' and (CST_type = ''CBS''))';
end;
showmessage(filter);
query.filtered := false;
query.Filter := filter;
query.filtered := true;
真正拼出来是这样的语句,这个语句放在filter中不行吗?
cbs_code_lid like '013/%' OR cbs_code_lid like '013\%' OR cbs_code_lid like '013-%')
and (CST_type = 'CBS'))
这个过滤都可以,可就上面的不行,太奇怪了,长度不如这个,也没这个复杂~~~~