![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Метод Delete
Washington © (2007-12-21 15:09:00)Использую сабж с помощью ADODataSet:
with ADODataSet1 do
begin
close;
CommandText:='Select * From '+table1+' Where Field1=1';
open;
delete;
end;
В итоге ошибка:
"Key column information is insufficient or incorrect. Too many rows were affected by update. "
Код написан полностью, не повторяется. Что значит сия ошибка, подскажите пожалуйста!
Washington (2007-12-22 08:40:00) [1]
> Anatoly Podgoretsky © (21.12.07 19:41) [10]
Ну это я понял, исходя из
> sniknik © (21.12.07 15:55) [9]
Anatoly Podgoretsky (2007-12-21 19:41:00) [2]> Washington (21.12.2007 15:20:06) [6]
> Получается сразу несколько нельзя удалить?
Можно
sniknik (2007-12-21 15:55:00) [3]> Получается сразу несколько нельзя удалить?
можно, только не методом delete, он для одиночных записей, а методом DeleteRecords с параметром adAffectGroup (вроде бы... delete это тоже самое только с adAffectCurrent).
это на случай если необходимо удаление именно от датасета (для исключения перезапроса для синхронизации данных после удаления отдельным запросом например).
Washington (2007-12-21 15:25:00) [4]не пробовал. Сделал раздельно - всё работает. спасибо ещё раз.
Palladin (2007-12-21 15:22:00) [5]а религия не позволяет выполнить delete from table1 where field1=1
Washington (2007-12-21 15:20:00) [6]
> под условие удаления (составленный методом delete; запрос)
> попало более чем одна запись.
Это понял. Всё правильно - их две. Спасибо. Буду удалять раздельно. Получается сразу несколько нельзя удалить?
Palladin (2007-12-21 15:17:00) [7]а... ну да :)
sniknik (2007-12-21 15:16:00) [8]> Слишком много строк измениться при обновлении
изменилось. ошибка выдается после. предварительных проверок до удаления нет.
clickmaker (2007-12-21 15:15:00) [9]
> delete;
чего 'delete'?
причем тут open?
Palladin (2007-12-21 15:15:00) [10]Тебе перевести? примерно
"Информации о ключевом поле недостаточно или она некорретна. Слишком много строк измениться при обновлении"
sniknik (2007-12-21 15:15:00) [11]> Что значит сия ошибка
под условие удаления (составленный методом delete; запрос) попало более чем одна запись. изза отсутствующего ключевого поля (неверной информации о нем).
ключ позволяет однозначно идентифицировать записи. у тебя его нет.