Форум программистов, компьютерный форум, киберфорум
Delphi: Базы данных
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/15: Рейтинг темы: голосов - 15, средняя оценка - 4.80
0 / 0 / 1
Регистрация: 24.10.2012
Сообщений: 252
1

Ошибка: Cannot perform this operation on an empty dataset

23.12.2017, 18:33. Показов 2940. Ответов 9
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день, удаляю записи из таблицы кодом
Delphi
1
2
datasource1.dataset.delete;
datasource2.dataset.delete;
Ошибка: Cannot perform this operation  on an empty dataset
и когда все данные удалены и нажать на кнопку удаления еще раз, возникает ошибка "cannot perform this operation on an empty dataset"
Что можно прописать чтобы эта ошибка не возникала ?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.12.2017, 18:33
Ответы с готовыми решениями:

Ошибка: cannot perform this operation on an open dataset
Доброго дня! прописываю в clientdataset такой запрос: StandDS.CreateDataSet; StandDs.Active...

Ошибка cannot perform this operation on a closed dataset
Доброго времени! Релизовывал алгоритм удаления пользователя из бд, почему-то пишет, что датасет...

БД Access ошибка Cannot Perform this operation on a closed dataset
Добрый день...никак не получается исправить ошибку "Can'nt Perform this operation on a closed...

Ошибка:cannot perform this operatio on an empty dataset.
при удалении когда ничего нету выдает ошибку проект project1.exe вызвал исключение класса...

9
Модератор
9256 / 6034 / 2379
Регистрация: 21.01.2014
Сообщений: 25,793
Записей в блоге: 3
23.12.2017, 19:23 2
Проверять Набор Данных на пустоту, если не пуст - удалять очередную запись...
А проще всего запрос выполнить:
SQL
1
DELETE * FROM MyTable
И кода 2 строки и ошибок нет...
1
0 / 0 / 1
Регистрация: 24.10.2012
Сообщений: 252
23.12.2017, 19:32  [ТС] 3
Цитата Сообщение от D1973 Посмотреть сообщение
Проверять Набор Данных на пустоту, если не пуст - удалять очередную запись...
А проще всего запрос выполнить:
Написал так
Delphi
1
2
3
ADOQuery2.Close;
AdoQuery2.Sql.Text:='DELETE * FROM prom_2';
ADOQuery2.Open;
Ошибка
Ошибка: Cannot perform this operation  on an empty dataset
0
3586 / 2195 / 693
Регистрация: 29.05.2013
Сообщений: 9,373
23.12.2017, 19:43 4
Замените
Delphi
1
ADOQuery2.Open
на
Delphi
1
ADOQuery2.ExecSQL;
1
0 / 0 / 1
Регистрация: 24.10.2012
Сообщений: 252
23.12.2017, 20:00  [ТС] 5
Спасибо, ошибок нет, только вот данный код удаляет все записи целиком, а нужно чтобы только выбранную строку удаляло
0
Модератор
9256 / 6034 / 2379
Регистрация: 21.01.2014
Сообщений: 25,793
Записей в блоге: 3
23.12.2017, 20:25 6
Цитата Сообщение от SpartanecLexa Посмотреть сообщение
удаляю записи
Цитата Сообщение от SpartanecLexa Посмотреть сообщение
и когда все данные удалены
...
Цитата Сообщение от SpartanecLexa Посмотреть сообщение
а нужно чтобы только выбранную строку удаляло
???
SQL
1
DELETE * FROM prom_2 WHERE My_Key_Field = NNN
0
0 / 0 / 1
Регистрация: 24.10.2012
Сообщений: 252
23.12.2017, 21:04  [ТС] 7
Цитата Сообщение от D1973 Посмотреть сообщение
DELETE * FROM prom_2 WHERE My_Key_Field = NNN
My_Key_Field = NNN откуда берутся эти параметры?
0
3586 / 2195 / 693
Регистрация: 29.05.2013
Сообщений: 9,373
23.12.2017, 21:15 8
My_Key_Field - это поле которое содержит уникальный номер для записи, а вот NNN это как раз номер который вы хотите удалить. Название первого и второго взяты с потолка, т.к. вашей структуры таблицы никто не знает.
1
Модератор
9256 / 6034 / 2379
Регистрация: 21.01.2014
Сообщений: 25,793
Записей в блоге: 3
23.12.2017, 21:16 9
My_Key_Field - ваше ключевое поле, однозначно идентифицирующее запись, NNN - значение этого ключевого поля.
1
пофигист широкого профиля
4732 / 3167 / 858
Регистрация: 15.07.2013
Сообщений: 18,252
24.12.2017, 02:49 10
Цитата Сообщение от SpartanecLexa Посмотреть сообщение
Добрый день, удаляю записи из таблицы кодом
Delphi
Выделить код
1
2
datasource1.dataset.delete;
datasource2.dataset.delete;
Забудьте этот код раз и навсегда!
0
24.12.2017, 02:49
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.12.2017, 02:49
Помогаю со студенческими работами здесь

Ошибка: Cannot perform this operation on an open dataset
Пытаюсь выбрать таблицу с помощью combobox но выходит такая ошибка Cannot perform this operation on...

Ошибка "adotable1 cannot perform this operation on a closed dataset"
добрый народ помогите пожалуйста!!! короче создал в аксессе таблицу, с вкладками ФИО и фото. Тип...

Возникает ошибка: "Cannot perform this operation on a closed dataset"
Не могу найти причину возникновения ошибки( Вот текст программы: procedure...

Ошибка: "ADOQuery1: Cannot perform this operation on a closed dataset"
привет всем, выдает ошибку "ADOQuery1:Cannont perform this operation on a closed dataset." при...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru