【问题标题】:FireDac MemTable Filtering Error on XE7XE7 上的 FireDac MemTable 过滤错误
【发布时间】:2015-04-02 07:44:53
【问题描述】:

当我想在 FireDac MemTable 上执行操作时,出现“表达式意外终止”的错误。 我正在使用该代码

with FMemtable1 Do
 begin 
  Filtered :=False;
  Filter   := 'Field1 like ' + ''''+'%'+Edit1.Text+'%'+'''';
  Filtered :=true; 
 end

但我在 XE6 上尝试时没有收到此错误

【问题讨论】:

  • 尝试将过滤器语句 bij 替换为以下内容:'Filter := 'Field1 like ' + QuotedStr(Edit1.Text);
  • 谢谢,但我试过了,结果一样
  • 那么我想我们需要更多信息。您的 FDMemtable 是如何配置的?数据集中是否有按名称定义的“Field1”?
  • @copilrot 你是对的。Field1 是一个 st Ftstrings 字段。我只创建了一个字段,我在创建该字段后激活了 FDMemtable
  • 添加ShowMessage(Filter); 看看你会得到什么。然后切换到使用 QuotedStr() 而不是玩弄所有的四引号。

标签: delphi firemonkey delphi-xe7 firedac


【解决方案1】:

此代码不是 ABC 过滤

Filter   := 'Field1 like ' + ''''+'%'+Edit1.Text+'%'+''''; // filter Any Letter

Filter := 'Field1 like ' + QuotedStr(Edit1.Text‌​);// filter Exactly Word

【讨论】:

  • 您能否扩展您的答案以解释您的示例如何应用于该问题?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多