발렌티나 빅토로브나 토포리셰바
Просветленный
(38281)
12 месяцев назад
После выполнения запроса DELETE в компоненте TQuery для Delphi 6 можно использовать свойство RowsAffected, которое указывает количество измененных (удаленных) строк в базе данных.
Пример:
with Query1 do
begin
SQL.Text := 'DELETE FROM MyTable WHERE SomeColumn = SomeValue';
ExecSQL;
if RowsAffected > 0 then
Writeln('Удалено записей: ', RowsAffected)
else
Writeln('Записи не были удалены');
end;
Если количество удаленных записей больше 0, будет выведено сообщение с указанием количества удаленных записей. Если же ни одна запись не была удалена, будет выведено сообщение "Записи не были удалены".
Jurijus Zaksas
Искусственный Интеллект
(424690)
12 месяцев назад
Хочу только заметить, что не все базы и не все драйверы сообщают клиенту количество удаленных записей. Поэтому, с некоторыми базами вышеописанный код может тупо не работать. В этом случае я бы рекомендовал использовать для удаления хранимую процедуру, которая бы средствами самой базы узнавала количество удаленных записей и возвращала его.