我试图使用2个不同的过滤器过滤表格,这样当按下按钮时,显示的唯一记录是具有特定Job_ID的记录和具有Type' Private'的记录。 我有以下代码:
if CBSearchType.Text = 'Private' then
begin
DBTravel.DataSource.DataSet.DisableControls;
DBTravel.DataSource.DataSet.Filtered := False;
DBTravel.DataSource.DataSet.Filter := ('Job_ID = '+edtAddJobID.Text) AND ('Type = '+QuotedStr('Private'));
DBTravel.DataSource.DataSet.Filtered := True;
DBTravel.DataSource.DataSet.First;
DBTravel.DataSource.DataSet.EnableControls;
end;
然而,当我尝试编译错误消息'运算符不适用于此操作数类型'显示,有什么建议吗? 感谢
答案 0 :(得分:3)
filter属性必须是字符串
DBTravel.DataSource.DataSet.Filter := Format('(Job_ID =%s) AND (Type=%s)',[edtAddJobID.Text,QuotedStr('Private')]);
答案 1 :(得分:2)
我认为Filter
是一个字符串。因此,你必须给它一个字符串。
'(Job_ID = ' + edtAddJobID.Text + ') AND (Type = ' + QuotedStr('Private') + ')';