更新 SQLで更新された件数を調べる
更新系の SQL (UPDATE / DELETE)で実際に更新された件数、または削除された件数を調べるには TQueryの RowsAffectedプロパティを参照します。この値が -1の場合は一件も処理されなかったことを意味します。と、ヘルプには書いてありますが、DBにオラクルを使ってテストしてみたところ、ゼロで返ってきます。
| ■ RowAffectedの例 |
procedure TForm1.Button1Click(Sender: TObject);
var
Query : TQuery;
begin
Query := TQuery.Create(Self);
with Query do begin
DatabaseName := Database1.DatabaseName;
SQL.Clear;
//削除 SQLの設定
SQL.Add('DELETE FROM SNM_USER WHERE USERCD LIKE :USERCD');
//削除条件
ParamByName('USERCD').AsString := 'A%';
//削除実行!
ExecSQL;
if RowsAffected < 1 then begin
ShowMessage('削除データ無し');
end else begin
ShowMessage('削除件数:' + IntToStr(RowsAffected));
end;
Free;
end;
end;
|