TDBAdvGrid で表示した複数の選択レコードを削除したい。それらの前のチェックボックスをチェックすることにより、多数のレコードが選択されています。[削除] ボタンをクリックすると、次の手順がトリガーされます。選択した行 ID の値を正常に返しているのは、すべてのレコードの削除に関する問題のみです。最初に選択したレコードのみを削除します。
procedure TForm5.Button3Click(Sender: TObject);
var
i,j,idn: Integer;
State: Boolean;
begin
j := 0;
for i := 1 to DBAdvGrid1.RowCount - 1 do
begin
if DBAdvGrid1.GetCheckBoxState(1,i,state) then
begin
if state then
begin
idn := StrToInt(DBAdvGrid1.Cells[6,i]);
UniQuery1.SQL.Text := 'Delete from userplays where id = :id';
UniQuery1.ParamByName('id').AsInteger := idn;
UniQuery1.ExecSQL;
end;
end;
end;
end;
ラインナップの最初のレコードのみを削除しています。最初のレコードを削除すると、for ループが中断され、削除後に制御が更新されたデータで TDBAdvGrid に戻ります。