ADODB: количество измененных записей с параметризованным запросом - PullRequest
2 голосов
/ 23 ноября 2011

Я использую ADODB в Delphi 7 и, для запросов UPDATE, я получаю количество измененных записей с помощью переменной recordsActed процедуры TADOConnection Execute как это:

 MyConnexion.Execute(sReq, iResReq, [eoExecuteNoRecords]);

Где iResReq - это номер измененной записи.

Теперь я хочу использовать параметризованные запросы с параметризованным SQL, например:

SQL.Add('UPDATE TABLE SET NAME="TEST" WHERE NAME=:PARAM);
Parameters.ParamByName('PARAM').text:='Smith';

но я действительно не знаю, как найти измененное количество записей. В дополнение к моему вопросу, знаете ли вы хороший урок о параметризованных запросах ADODB?

1 Ответ

4 голосов
/ 23 ноября 2011

Используя TADOCommand, вы можете сделать что-то вроде этого.

var
    RecordsAffected: Integer;
begin
    ADOCommand1.CommandText := 'UPDATE TABLE SET NAME="TEST" WHERE NAME=:PARAM';
    ADOCommand1.Parameters.ParamByName('PARAM').Value:='Smith';
    ADOCommand1.Execute(RecordsAffected, EmptyParam);

Также возможно сделать с TADOQuery, если вы используете ExecSQL (как упомянуто в комментарии TLama ).

...