72 / 64 / 3
Регистрация: 13.05.2010
Сообщений: 349
1

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

01.06.2010, 11:39. Показов 26528. Ответов 13
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
искала по всем форумам, ответ на свой вопрос не нашла =(
программа длинная, напишу только код связанный с Query1
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
27
28
29
30
31
32
33
procedure TForm1.SpeedButton1Click(Sender: TObject);    {Здесь Query1 работает}
var ready:string;
begin
{здесь есть и другие операции, никак не связанные с Query1, ready - имя таблицы, его я здесь и получаю}
Query1.Close;
Query1.SQL.Text:='select distinct obj_code from '+ready;
Query1.Open;
Combobox1.Clear;
Query1.First;
While not Query1.Eof do
begin
Combobox1.Items.Add(Query1.FieldByName('obj_code').AsString);
Query1.Next;
end;
Query1.Open;
end;
 
procedure TForm1.Button4Click(Sender: TObject);
var    i: integer;
begin
i:=0;
Query1.Active:=true;
Query1.First; {это ещё выполняется, а дальше не хочет}
for i := 0 to Form2.DBGrid1.DataSource.DataSet.RecordCount  do
  begin
  Application.ProcessMessages;
       While not Query1.Eof do
       begin 
      {тело цикла }
       Query1.Next;
       end;
  end;
end;
в чем ошбка?? что с dataset'ом не так??
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.06.2010, 11:39
Ответы с готовыми решениями:

База данных - Query1: Cannot perform this operation on a closed DataSet
помогите плиз пишу базу данных, создавал через утилу DataBase, но вот проблема когда хочу добавить...

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

Ошибка 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...

13
150 / 150 / 3
Регистрация: 05.05.2010
Сообщений: 570
01.06.2010, 11:47 2
В 16ой строчке примера, не вижу смысла.
По нажатию какой кнопки ошибка возникает?
Скорее всего где-то Next или First вызываются при закрытом наборе данных.
0
72 / 64 / 3
Регистрация: 13.05.2010
Сообщений: 349
01.06.2010, 11:57  [ТС] 3
=)) 16 строчка была написана на всякий случай... (уже после того, как я всё перепробовала)
а ошибка выскакивает при выполнеии 25 строки.
0
150 / 150 / 3
Регистрация: 05.05.2010
Сообщений: 570
01.06.2010, 12:00 4
А у DBGrid1 какой DataSource?
0
Супер-модератор
8783 / 2536 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
01.06.2010, 12:01 5
Ksenya100, ну текста запроса я чего-то не вижу вообще...
Form2.DBGrid1.DataSource.DataSet - что указано здесь?
0
72 / 64 / 3
Регистрация: 13.05.2010
Сообщений: 349
01.06.2010, 12:03  [ТС] 6
DBGrid1.DataSource1.Dataset.Query1
0
1263 / 706 / 62
Регистрация: 21.12.2009
Сообщений: 2,255
01.06.2010, 12:05 7
Цитата Сообщение от Ksenya100 Посмотреть сообщение
Form2.DBGrid1.DataSource.DataSet.RecordCount
А этот DataSet открыт ???
1
150 / 150 / 3
Регистрация: 05.05.2010
Сообщений: 570
01.06.2010, 12:06 8
DBGrid1.DataSource1.Dataset - тут Query1 должно быть написано.
0
72 / 64 / 3
Регистрация: 13.05.2010
Сообщений: 349
01.06.2010, 12:19  [ТС] 9
написала
Form2.DBGrid1.DataSource.DataSet.Open;
работает!!! спасибо!!
только он и раньше был открыт..... сам закрылся?.........
0
150 / 150 / 3
Регистрация: 05.05.2010
Сообщений: 570
01.06.2010, 12:22 10
Странно, такое ощущение, что где-то косяк в другом месте...
Или Query1 не является источником данных для DBGrid1.
0
72 / 64 / 3
Регистрация: 13.05.2010
Сообщений: 349
01.06.2010, 12:30  [ТС] 11
является
но можт ещё где-то что-то не так=)
я один цикл убрала (while)
0
150 / 150 / 3
Регистрация: 05.05.2010
Сообщений: 570
01.06.2010, 12:33 12
Цитата Сообщение от Ksenya100 Посмотреть сообщение
Delphi
1
2
3
Query1.Active:=true;
Query1.First; {это ещё выполняется, а дальше не хочет}
for i := 0 to Form2.DBGrid1.DataSource.DataSet.RecordCount do
Причем тут еще один цикл? Или тут между строчками еще что-то стоит?
0
72 / 64 / 3
Регистрация: 13.05.2010
Сообщений: 349
01.06.2010, 13:06  [ТС] 13
ну цикл while do мог как-то повлиять (смотря что там внутри) но я не говорила, что из-за этого ошибки больше нет... её нет из-за Form2.DBGrid1.DataSource.DataSet.Open;
0
150 / 150 / 3
Регистрация: 05.05.2010
Сообщений: 570
01.06.2010, 13:08 14
Понятно, что ничего не понятно...
0
01.06.2010, 13:08
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.06.2010, 13:08
Помогаю со студенческими работами здесь

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

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

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

ADOTable1: Cannot perform this operation on a closed dataset
Приветик пишу курсач и тут ошибка бац помогите плиз ADOTable1: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." при...


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Опции темы

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