Как убедиться, что параметры были обновлены в поставщике набора данных - PullRequest
1 голос
/ 18 марта 2010

В приложении Delphi мы назначили поставщика набора данных с TADOQuery, передавая параметры в Query. Когда TADOQuery обновляется новыми значениями параметров, они не передаются поставщику набора данных.

В Delphi 5 это работало нормально, но мы переносим наше приложение в Delphi 2010, и, похоже, эта ссылка не работает.

Есть ли способ обновить параметры для провайдера набора данных новыми значениями?

Ответы [ 2 ]

3 голосов
/ 22 марта 2010

Мы получили от Embarcadero ответ на этот вопрос, и кажется, что все еще есть ошибка, связывающая компоненты dbx с набором данных клиента и параметры обновления, не должно быть проблем с компонентами dbgo ADO.

Однако, есть способ сделать это с провайдером набора данных, который заключается в вызове FetchParams перед установкой запроса активным. т.е.

QProvider := oADOQuery;
oADOQuery.Active := False;
oADOQuery.Params.ParamByName('MyParam').Value := 'New Value';
QProvider.FetchParams;
oADOQuery.Active := True;
0 голосов
/ 19 марта 2010

Я делал это следующим образом годами. Я никогда не знал, что вы можете просто обновить запрос в Delphi 5, чтобы заново подготовить запрос:

oADOQuery.Active := False;
oADOQuery.Params.ParamByName('MyParam').AsString := 'New Value';
oADOQuery.Active := True;

Я считаю, что это стандартный способ.

...