На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! ПРАВИЛА РАЗДЕЛА · FAQ раздела Delphi
Пожалуйста, выделяйте текст программы тегом [сode=pas] ... [/сode]. Для этого используйте кнопку [code=pas] в форме ответа или комбобокс, если нужно вставить код на языке, отличном от Дельфи/Паскаля.
Обязательно указание:
1) типа базы данных (Paradox/Oracle/Interbase и т.п.)
2) способа доступа к базе данных (ODBC/ADO/DAO/BDE и т.п.)
Например: Paradox/BDE, MS Access/ADO

Наиболее часто задаваемые вопросы:
Базы даных для начинающих. Первые шаги. Понятие о BDE.
Переход на клиент-сервер и начала ADO
Приёмы работы с BLOB (OLE/Memo) полями
Запросы и параметры или как избавиться от многих проблем. Проблемы с датами в запросах.
Нужели мне нужно устанавливать BDE? (или почему не работает программа на другом компьютере)
Модераторы: Bas, Rouse_
  
> Cannot perform this operation on a closed dataset!
    Добрый день! Пишу небольшую базу данных на делфи! вроде все делаю правильно , но постоянно выходит ошибка Cannot perform this operation on a closed dataset! Работаю с компонентом kmemtable (позволяет создавать таблицу в памяти, выгружать и загружать). Вот сам код
    ExpandedWrap disabled
      if od.Execute then
      begin
      sfCSV.CSVQuote:='"';
      sfCSV.CSVRecordDelimiter:=',';
      showmessage('1');
      bdcomp1.Active:=true;
      bdcomp1.Open;
      if bdcomp1.Active then showmessage('îòêðûòà');
      bdcomp1.LoadFromFileViaFormat('c:\1.csv',sfCSV);
      showmessage('îòêðûò111à');
      dsbdcomp.DataSet:=bdcomp1;
      bdcomp1.Active:=true;
      end;
    Не смотрите что код кривой, просто я уже проверки делаю на активность базы. А ошибка выходит на строчке bdcomp1.LoadFromFileViaFormat('c:\1.csv',sfCSV);
    кто что может подсказать, а то у меня вариантов не осталось!
    Сообщение отредактировано: Bas -
      Прежде чем стото делать с данными их надо открыть. (open or active=true). Компонент мне неизвестен. Что делает загрузка из файла?
        так в том то и дело, что таблица открыта! Загрузка делает загрузку из специального файла! и добавление строчки проходит нормально!
        Сообщение отредактировано: ximik666 -
          под дебагом зайди в процедуру LoadFromFileViaFormat и посмотри на чем он ломается
            если несекрет как под дебагерром посмотреть?
              поставь курсор на эту строку и нажми F5
              запусти прогу нажим F7 и ты зайдеш в эту процедуру и смотри что за код там написан и что происходи
                че то пока не могу разобраться! но ведь по идее таблица у меня открыта, почему может быть такая ошибка?
                жму ф7 сначала раннинг а потом сразу стоп! почему?
                Сообщение отредактировано: ximik666 -
                  Ели bdcomp1 это набор данных то вам достаточно сделать опен. Потом посмотрите есть ли у этого компонента свойство reqwestlife (както так) и сделайте его труе.
                  ExpandedWrap disabled
                    if od.Execute then
                    begin
                    sfCSV.CSVQuote:='"';
                    sfCSV.CSVRecordDelimiter:=',';
                    showmessage('1');
                    bdcomp1.Open;
                    bdcomp1.reqwestlife:=true;
                    //if bdcomp1.Active then showmessage('îòêðûòà');
                    bdcomp1.LoadFromFileViaFormat('c:\1.csv',sfCSV);
                    showmessage('îòêðûò111à');
                    //dsbdcomp.DataSet:=bdcomp1;
                    //bdcomp1.Active:=true;
                    end;


                  Добавлено
                  requestlive
                    такого сойства у него нет! смое главное что добавление с помощью дбнавигатора проходит нормально
                      Значит проблем в загрузке из файла.
                        укороче даже на чистой программе котороя ниже тоже выдает ошибку!
                        ExpandedWrap disabled
                          procedure TForm1.FormCreate(Sender: TObject);
                          begin
                          with mem do
                                begin
                                  Active := False;  // òàáëèöà äîëæíà áûòü çàêðûòà
                                   // òåïåðü îïðåäåëÿåì ïîëÿ
                                      with FieldDefs do
                                         begin
                                            Clear;
                           
                                            Add('fio', ftString, 60, True);
                                            
                                      end;
                                       CreateTable;
                                end;
                           
                           
                          end;
                           
                          procedure TForm1.sBitBtn1Click(Sender: TObject);
                          begin
                                  sfCSV.CSVQuote:='"';
                                  sfCSV.CSVRecordDelimiter:=',';
                                  mem.Open;
                                   mem.LoadFromFileViaFormat('c:\1.csv',sfCSV);
                                  mem.Active:=true;
                                  
                          end;
                           
                          end.
                        Сообщение отредактировано: Bas -
                          Что же всё-таки такое LoadFromFileViaFormat?
                            это процедура компонента kmemtable, которая позволяет загрузить файл определеннго формата! ну короче в этом файле хранится вся конфигурация и данные о виртуальной базе
                              Все всем спасибо вопрос решен! Теперь вопрос не по теме где можно посмотреть дизайны программ? ну для сравнения и чтобы для себя что нибудь взять!
                              0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                              0 пользователей:


                              Рейтинг@Mail.ru
                              [ Script execution time: 0,0802 ]   [ 16 queries used ]   [ Generated: 15.11.25, 03:53 GMT ]