【问题标题】:Handling commas in data with VarArrayOf使用 VarArrayOf 处理数据中的逗号
【发布时间】:2013-04-04 14:35:38
【问题描述】:

我正在使用具有多个字段的定位,有时我会收到“搜索字段数不正确”错误,并已将其追踪到数据。

tbl.Locate('LName;FName;Stuff',
  VarArrayOf([LName+','+FName','+Stuff]),[loCaseInsensitive]);

有时有效,有时无效,如果文本中包含逗号,我将其追溯到 Stuff 中的逗号。

Stuff =“我的狗是灰色的”会起作用。

Stuff =“我在工作,但不开心”不会。额外的逗号使它看起来像四个数据字段。

我是否必须为逗号解析每个传入数据字符串,如果发现任何字符串,请将它们替换为 Locate 工作的内容?包含的逗号版本将在没有解析或修改的情况下存储,因为我不知道他们可能输入了什么。 “我在工作,但不开心”是用户的有效输入。

谢谢。

【问题讨论】:

  • VarArrayOf([LName, FName, Stuff]) 不起作用?
  • 没有,但感谢您的回复
  • 你接受了一个对你不起作用的答案似乎很奇怪......

标签: delphi locate


【解决方案1】:

不要将所有搜索值连接成一个字符串。相反,将它们作为不同的项目放置在数组中,就像the example in the documentation。也就是说,不要在字符串中包含逗号:

tbl.Locate('LName;FName;Stuff',
  VarArrayOf([LName, FName, Stuff]), [loCaseInsensitive]);

【讨论】:

  • 好的,我会试试的。谢谢。我实际上用另一种方法找到了一个独特的记录,但你的回答听起来确实是正确的。我今年 68 岁,有时老脑并不总是能凑齐。 :)
猜你喜欢
  • 1970-01-01
  • 2011-09-26
  • 1970-01-01
  • 2013-04-05
  • 2017-10-22
  • 1970-01-01
  • 1970-01-01
  • 2022-11-04
  • 1970-01-01
相关资源
最近更新 更多