На главную Наши проекты:
Журнал   ·   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 modify read-only dataset
    Версия дельфи 7ая. База Парадоксовская. Двигло БДЕ. Всё вродер делаю прально: Разместил компоненты, сварганил базу, свотрится она нормально, в дбгрид и редактируется там же отлично, но дбедит возможно редактирование отсутствует т.е., при выполнении:
    ExpandedWrap disabled
      Table1.Active:=true;
        Table1.First;
        Table1.Edit;

    Вылазит сабжевая ошибка. Что я делаю не так?
      Автором очевидно проводится проверка телепатических способностей форумчан по угадыванию названия ошибки на расстоянии. >:(
        А че не понятно. Есть база. Есть алиас в дбе на эту базу. Есть программа на дельфях отлично читающая эту базу, как через ДБГрид\ДБнавигатор, так и черещ ДБедит\Дбмемо со своими кнопочками. Если запустить софтину пощелкать на кнопки тов всё нормально, но в ДБедит невозможно ничего изменить, при клике он очищается.
        ExpandedWrap disabled
            Table1.Active:=true;
            Table1.First;
            DBEdit1.Text:=mainform.Table1.FieldByName('ID').AsString;
            DBEdit2.Text:=mainform.Table1.FieldByName('SN').AsString;
            DBEdit3.Text:=mainform.Table1.FieldByName('FN').AsString;
            DBEdit4.Text:=mainform.Table1.FieldByName('tel').AsString;
            DBEdit5.Text:=mainform.Table1.FieldByName('email').AsString;
            DBEdit6.Text:=mainform.Table1.FieldByName('addr').AsString;
            DBEdit7.Text:=mainform.Table1.FieldByName('vac').AsString;
            DBEdit8.Text:=mainform.Table1.FieldByName('age').AsString;
            DBEdit9.Text:=mainform.Table1.FieldByName('sallary').AsString;
            DBEdit10.Text:=mainform.Table1.FieldByName('city2').AsString;
            DBMemo1.Text:=mainform.Table1.FieldByName('education').AsString;
            DBMemo1.Text:=mainform.Table1.FieldByName('opit1').AsString;
            DbMemo1.Text:=mainform.Table1.FieldByName('desc').AsString;

        Вопрос а) почему в полях дбедит ничего нельзя изметь. Б)Почему при вышеописанных изменениях вылезает сабжевая ошибка.
          Цитата cr0acker @
          Вопрос а) почему в полях дбедит ничего нельзя изметь...

          А ты пробывал в DBGrid в свойстве Options поставить true у dgEditing?
          Или поля у тя в Table не read only?
            cr0acker
            а зачем ты для DBEdit делаешь заполнение через поля? :blink:
            у DBEdit поле неактивно пока неукажешь поле...
            у него есть такое свойство DataSources, привязываешь к определённому полю и делаешь Post и усё...
              Заполни DataSources,DataField и будет счастье.
                Цитата Bas @
                Заполни DataSources,DataField и будет счастье.

                Ну, да, значение при клике пропападать перестало, но, отредактировать его невозможно(хотя в гриде все редактируется), а при
                ExpandedWrap disabled
                      Table1.Edit;
                      Table1.Append;

                Код:
                ExpandedWrap disabled
                  Table1.Active:=true;
                    Table1.First;
                    DBEdit1.DataSource:=DataSource1;
                    DBEdit2.DataSource:=DataSource1;
                    DBEdit3.DataSource:=DataSource1;
                    DBEdit4.DataSource:=DataSource1;
                    DBEdit5.DataSource:=DataSource1;
                    DBEdit6.DataSource:=DataSource1;
                    DBEdit7.DataSource:=DataSource1;
                    DBEdit8.DataSource:=DataSource1;
                    DBEdit9.DataSource:=DataSource1;
                    DBEdit10.DataSource:=DataSource1;
                    DBEdit1.DataField:='ID';
                    DBEdit2.DataField:='SN';
                    DBEdit3.DataField:='FN';
                    DBEdit4.DataField:='tel';
                    DBEdit5.DataField:='email';
                    DBEdit6.DataField:='addr';
                    DBEdit7.DataField:='vac';
                    DBEdit8.DataField:='age';
                    DBEdit9.DataField:='sallary';
                    DBEdit10.DataField:='city2';
                    DBMemo1.DataSource:=Datasource1;
                    DBMemo2.DataSource:=Datasource1;
                    DBMemo3.DataSource:=Datasource1;
                    DBMemo1.DataField:='education';
                    DBMemo2.DataField:='opit1';
                    DBMemo3.DataField:='desc';
                  cr0acker
                  зачем такое извращение, когда можно сделать всё двумя кликами мышки...
                    ExpandedWrap disabled
                        DBEdit1.DataSource:=DataSource1;
                      ..........
                        DBEdit10.DataSource:=DataSource1;
                        DBEdit1.DataField:='ID';
                      ...............
                        DBEdit10.DataField:='city2';
                        DBMemo1.DataSource:=Datasource1;
                        DBMemo2.DataSource:=Datasource1;
                        DBMemo3.DataSource:=Datasource1;
                        DBMemo1.DataField:='education';
                        DBMemo2.DataField:='opit1';
                        DBMemo3.DataField:='desc';
                      Table1.Active:=true;
                      Table1.First;
                      Table1.Edit ;// если хотим редактировать

                    Table1.Append;// добавляем новую запись
                      Цитата DroN_S @
                      cr0acker
                      зачем такое извращение, когда можно сделать всё двумя кликами мышки...

                      Ага, особливо, если использовать дизайновую привязку ДБЕдитов (и всего остального, если появятся) к соответствующему ДатаСорсу :yes:

                      Добавлено
                      Cannot modify read-only dataset
                      Проверь свойства своей Table. У тебя она сейчас доступна только на чтение. :ph34r:
                      Цитата Bas @
                      Table1.Append;// добавляем новую запись

                      Дык если Table.ReadOnly = true, снова и поимеем ошибку, указанную в сабже первого поста!
                      0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                      0 пользователей:


                      Рейтинг@Mail.ru
                      [ Script execution time: 0,0399 ]   [ 16 queries used ]   [ Generated: 6.08.25, 15:54 GMT ]