0

我正在尝试使用 2 个不同的过滤器过滤表,以便按下按钮时显示的唯一记录是具有特定 Job_ID 的记录和类型为“私人”的记录。我有以下代码:

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;

但是,当我尝试编译时显示错误消息“运算符不适用于此操作数类型”,有什么建议吗?谢谢

4

2 回答 2

3

过滤器属性必须是字符串

DBTravel.DataSource.DataSet.Filter := Format('(Job_ID =%s) AND (Type=%s)',[edtAddJobID.Text,QuotedStr('Private')]);
于 2012-04-04T16:56:30.757 回答
2

我想那Filter是一个字符串。因此,您必须给它一个字符串。

'(Job_ID = ' + edtAddJobID.Text + ') AND (Type = ' + QuotedStr('Private') + ')';
于 2012-04-04T16:56:24.023 回答