在delphi中对计算字段使用locate函数

时间:2017-08-24 12:38:29

标签: delphi locate tadotable

如何使用delphi Tadotable中的计算字段使用 locate 函数或相同的操作函数? 像这样的东西

SampleAdotable.locate('samplefield',text,[lopartialkey]);

其中samplefield是SampleAdotable中的计算字段。在正常情况下,会创建此消息的异常:

Item can not be found in the collection corresponding to the requested name or ordinal

谢谢

1 个答案:

答案 0 :(得分:8)

如果您的SampleField类型为fkCalculated,我认为您不能将此字段用作您尝试在Locate调用中找到其值的字段。

原因是Locate调用TCustomADODataSet.LocateRecord会生成您引用的错误,其原因是SampleField不是ADO Recordset中的字段。 TCustomADODataSet。调用Cursor.MoveNext时会发生异常。

要执行您想要的操作,请尝试在SQL表达式中构造一个计算字段,用于从数据库中获取行数据。根据您使用的服务器,您可能需要使用TAdoQuery而不是TAdoTable来获取行。