Форум программистов, компьютерный форум, киберфорум
Delphi: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 15.04.2021
Сообщений: 19

Ошибка cannot perform this operation on a closed dataset

08.04.2023, 22:18. Показов 1256. Ответов 6

Студворк — интернет-сервис помощи студентам
При выполнения кода:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
procedure TForm2.Button1Click(Sender: TObject);
begin
   ADOQuery2.SQL.Clear;
   ADOQuery2.SQL.Add('INSERT INTO [Салон] ([Дата],[Время],[Фамилия],[Имя],[Отчество],[Услуга],[Сотрудник])');
   ADOQuery2.SQL.Add('VALUES ( :Param1, :Param2, :Param3, :Param4, :Param5,:Param6, :Param7)');
   ADOQuery2.Parameters.Refresh;
   ADOQuery2.Parameters[0].Value:=ComboBox4.Text + '.' + ComboBox2.Text + '.' + ComboBox1.Text;
   ADOQuery2.Parameters[1].Value:=ComboBox5.Text + ':' + ComboBox6.Text;
   ADOQuery2.Parameters[2].Value:=Edit10.Text;
   ADOQuery2.Parameters[3].Value:=Edit11.Text;
   ADOQuery2.Parameters[4].Value:=Edit12.Text;
   ADOQuery2.Parameters[5].Value:=ComboBox3.Text;
   ADOQuery2.Parameters[6].Value:=Edit1.Text + ' ' + Edit2.Text + ' ' + Edit3.Text;
   ADOQuery2.ExecSQL;
   ADOQuery1.DisableControls;
   ADOQuery1.Requery();
   ADOQuery1.EnableControls;
end;
Выходит ошибка: "adoquery1.requery cannot perform this operation on a closed dataset".
Как я понимаю, ошибка выходит из-за последних трёх строчек кода. Помогите пожалуйста, делаю курсовую, совсем новичок в Delphi.
PS1. По дефолту ADOquery1 и ADOquery1 имеют значение Active:=false; потому что если они будут включены, то при компиляции выходит ошибка: "Missing Connection or ConnectionString"
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
08.04.2023, 22:18
Ответы с готовыми решениями:

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

Ошибка 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 dataset". Дело в том, что первый...

6
453 / 177 / 31
Регистрация: 04.08.2018
Сообщений: 717
08.04.2023, 23:15
Цитата Сообщение от Bambilo Посмотреть сообщение
если они будут включены, то при компиляции выходит ошибка: "Missing Connection or ConnectionString"
В этом проблема. Вам или в дизайне прописать верные параметры подключения или при работе подключаться.
0
0 / 0 / 0
Регистрация: 15.04.2021
Сообщений: 19
08.04.2023, 23:17  [ТС]
Не понимаю. Можно поподробнее?
0
453 / 177 / 31
Регистрация: 04.08.2018
Сообщений: 717
08.04.2023, 23:24
Bambilo, я пользуюсь FireDAC.
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
 with FDConnection1 do begin    //Server version: 5.5.43 MySQL Community Server (GPL)
  try
  with params do
   begin
   Clear;
   add('Server='+EditServer.Text); //     localhost
   add('port='+NumberBoxPort.Text); //порт на котором работает база
   add('User_Name=тут имя пользователя в базе');
   add('Password=тут указать свой пароль от базы');
   add('database=MySQL');
   add('CharacterSet=cp1251');
   add('DriverID=MySQL');
   add('Compress=True');
   end;
  ConnectionName:=EditNameMySQL.Text;//MySQL - так называется служба базы
  Connected:=true; //это подсоединение к базе, после чего в ней можно выполнять запросы
  statusbar1.Panels[0].Text:='Connected';
 
  except
  statusbar1.Panels[0].Text:='Could not connect';
  end;
 end;
0
0 / 0 / 0
Регистрация: 15.04.2021
Сообщений: 19
09.04.2023, 00:10  [ТС]
Слишком сложно для меня, ведь я только учусь, от части не понимаю о чём вы говорите

Добавлено через 34 минуты
С этой проблемой разобрался с помощью порядка создания форм. Возникла следующая ситуация: Не обновляется DBGrind
0
пофигист широкого профиля
4769 / 3204 / 862
Регистрация: 15.07.2013
Сообщений: 18,611
09.04.2023, 01:36
Цитата Сообщение от Bambilo Посмотреть сообщение
Возникла следующая ситуация: Не обновляется DBGrind
А с чего бы ему самому обновляться?
0
Модератор
 Аватар для D1973
9921 / 6457 / 2457
Регистрация: 21.01.2014
Сообщений: 27,399
Записей в блоге: 3
09.04.2023, 12:03
Цитата Сообщение от Bambilo Посмотреть сообщение
Не обновляется DBGrind
Это, как бы, и не удивительно, потому как такого компонента попросту нет.
А если Вы, таки, говорите по DBGrid, то для того, чтобы он отобразил обновленные данные, набор данных, который связан с этом Гридом надо просто переоткрыть.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
09.04.2023, 12:03
Помогаю со студенческими работами здесь

Cannot perform this operation on a closed dataset
Добрый день у меня такой вопрос есть такая вот процедура USE GO /****** Object: StoredProcedure . Script Date: 01/24/2013...

Cannot Perform this Operation on a Closed Dataset
Добрый вечер. Есть бд на MySQL. Необходимо сделать выборку значений, пробую следующим образом: with DM.qDoc do //qDoc - ADOQuery,...

ADOTable1: Cannot perform this operation on a closed dataset
Приветик пишу курсач и тут ошибка бац помогите плиз ADOTable1:Cannot perform this operation on a closed dataset.

ADOQuery4: Cannot perform this operation on a closed dataset
Здравствуйте. Н Д закрыт, как можно исправить проблему, затык на showmessage('3тап 4'); датасет пять не имеет визуалки. try ...

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


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru