Используя функцию поиска на вычисляемом поле в Delphi

Как мы можем использовать функцию определения местоположения или ту же функцию операции, используя вычисляемое поле в delphi Tadotable? что-то вроде этого

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

где samplefield - вычисляемое поле в SampleAdotable. В обычном случае создается исключение с этим сообщением:

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

благодарю вас

1 ответ

Решение

Если твой SampleField имеет тип fkCalculatedЯ не думаю, что вы можете использовать это поле как поле, значение которого вы пытаетесь найти в вызове Locate,

Причина в том, что Locate звонки TCustomADODataSet.LocateRecord которая генерирует ошибку, которую вы цитируете, и причина в том, что SampleField это не поле в ADO Recordset лежащий в основе TCustomADODataSet, Исключение происходит при вызове Cursor.MoveNext,

Чтобы сделать то, что вы хотите, попробуйте создать вычисляемое поле в выражении SQL, используемом для получения данных строки из базы данных. В зависимости от сервера, который вы используете, вам может потребоваться использовать TAdoQuery вместо TAdoTable для получения строк.

Другие вопросы по тегам