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

Возникает ошибка: "Cannot perform this operation on a closed dataset"

08.12.2011, 20:13. Показов 3817. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Не могу найти причину возникновения ошибки(

Вот текст программы:

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
procedure Tdobavlenie.Button1Click(Sender: TObject);
begin
glavnaya.BookTable1.Append;
glavnaya.BookTable1.Open;
 
try
glavnaya.BookTable1.Active:=false;
glavnaya.BookTable1.TableName:='Таблица1';
glavnaya.BookTable1.Active:=true;
glavnaya.BookTable1.Fields[1].AsString:=n1.Text;
 
glavnaya.BookTable1.Active:=false;
glavnaya.BookTable1.TableName:='Таблица2';
glavnaya.BookTable1.Active:=true;
glavnaya.BookTable1.Fields[3].AsFloat:=strtoint(t1.Text);
glavnaya.BookTable1.Fields[4].AsFloat:=strtofloat(din1.Text);
glavnaya.BookTable1.Fields[5].AsFloat:=strtofloat(tepl1.Text);
 
except
on EInvalidCast do ShowMessage('Не верный ввод');
end;
 
glavnaya.BookTable1.Post;
glavnaya.BookTable1.Close;
 
end;

Помогите пожалуйста исправить ошибку)
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
08.12.2011, 20:13
Ответы с готовыми решениями:

Ошибка cannot perform this operation on a closed dataset
При выполнения кода: procedure TForm2.Button1Click(Sender: TObject); begin ADOQuery2.SQL.Clear; ADOQuery2.SQL.Add('INSERT...

Ошибка 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
1497 / 1238 / 245
Регистрация: 04.04.2011
Сообщений: 4,363
08.12.2011, 21:59
Delphi
1
2
3
4
5
glavnaya.BookTable1.Edit;
glavnaya.BookTable1.Fields[3].AsFloat:=strtoint(t1.Text);
glavnaya.BookTable1.Fields[4].AsFloat:=strtofloat(din1.Text);
glavnaya.BookTable1.Fields[5].AsFloat:=strtofloat(tepl1.Text);
glavnaya.BookTable1.Post;
0
0 / 0 / 0
Регистрация: 08.12.2011
Сообщений: 3
08.12.2011, 22:22  [ТС]
Не помогло(((
0
8 / 8 / 1
Регистрация: 01.04.2011
Сообщений: 88
08.12.2011, 22:41
Delphi
1
2
glavnaya.BookTable1.Append;
glavnaya.BookTable1.Open;
поменять местами может быть?)
0
0 / 0 / 0
Регистрация: 08.12.2011
Сообщений: 3
08.12.2011, 23:34  [ТС]
Эх... тоже не помогло((
что же это может быть... я уж и не знаю, что делать((
0
Почетный модератор
 Аватар для Lord_Voodoo
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
09.12.2011, 00:18
Ana, Девушка, я не понимаю, где вы такой код выдрали...

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
glavnaya.BookTable1.Append; { Начинаем операцию добавления  }
glavnaya.BookTable1.Open; { Открываем таблицу (Этот метод всегда должна быть первой строкой в коде для БД) }
 
try
glavnaya.BookTable1.Active:=false; { Закрываем таблицу (Предыдущие операции тоже удаляются) }
glavnaya.BookTable1.TableName:='Таблица1'; { Это свойство обычно принято указывать перед открытием }
glavnaya.BookTable1.Active:=true; { Открываем таблицу (!!!) }
glavnaya.BookTable1.Fields[1].AsString:=n1.Text; { Присваиваем значение полю новой строки в источнике данных }
 
glavnaya.BookTable1.Active:=false; { Закрываем таблицу (Предыдущие операции тоже удаляются) }
glavnaya.BookTable1.TableName:='Таблица2'; { Это я так понимаю, что ты решила редактировать таблицы параллельно }
glavnaya.BookTable1.Active:=true; 
glavnaya.BookTable1.Fields[3].AsFloat:=strtoint(t1.Text);
glavnaya.BookTable1.Fields[4].AsFloat:=strtofloat(din1.Text);
glavnaya.BookTable1.Fields[5].AsFloat:=strtofloat(tepl1.Text);
 
except
on EInvalidCast do ShowMessage('Не верный ввод');
end;
 
glavnaya.BookTable1.Post; { Подтверждаем сохранение данных в таблице }
glavnaya.BookTable1.Close; { Закрываем таблицу (Предыдущие операции тоже удаляются) }
 
end;
а теперь как это должно выглядеть на самом деле:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
glavnaya.BookTable1.TableName:='Таблица1'; 
except
glavnaya.BookTable1.Open;
glavnaya.BookTable1.Append;
glavnaya.BookTable1.Fields[1].AsString:=n1.Text;
glavnaya.BookTable1.Post;
except
on EInvalidCast do ShowMessage('Не верный ввод');
{ Тут лучше сделать выход из подпрограммы (в дельфи не силен) }
end;
glavnaya.BookTable1.Close;
 
glavnaya.BookTable1.TableName:='Таблица2';
glavnaya.BookTable1.Open;
glavnaya.BookTable1.Append;
glavnaya.BookTable1.Fields[3].AsFloat:=strtoint(t1.Text);
glavnaya.BookTable1.Fields[4].AsFloat:=strtofloat(din1.Text);
glavnaya.BookTable1.Fields[5].AsFloat:=strtofloat(tepl1.Text);
glavnaya.BookTable1.Post;
except
on EInvalidCast do ShowMessage('Не верный ввод');
end;
glavnaya.BookTable1.Close;
0
1497 / 1238 / 245
Регистрация: 04.04.2011
Сообщений: 4,363
09.12.2011, 11:23
Этой девушке, похоже, уже ничего не поможет
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
09.12.2011, 11:23
Помогаю со студенческими работами здесь

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

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

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
Ответ Создать тему
Новые блоги и статьи
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru