Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.04.2015, 13:18   #1
vovain
Новичок
Джуниор
 
Регистрация: 27.03.2015
Сообщений: 2
По умолчанию Проблема с обновлением записи в DBedit

Проблема с обновлением DBEdit из таблицы.
При редактировании записи открывается форма в которую подстраиваются необходимые данные из таблицы и label.
При нажатии на одну из таблиц прописывается каждый раз что именно отображать. При открытии одной таблицы проблем не возникает, но при открытии другой таблицы он ищет данные из предыдущей, как будто не успевает обновлять, только первое нормально обновляет, но если открывать каждый раз эту таблицу ошибки проходят поочередно и после всех полей из предыдущей таблицы он нормально её открывает.
Попробывал EhLib поставить не помогло.
Код:
procedure TForm1.A2Click(Sender: TObject);
begin
 Form70.Show;
 Form70.DBGrid1.DataSource:= DataModule1.Dform30;
 form70.DBImage1.DataSource:=datamodule1.Dform30;
     form70.dbgrid1.Columns[0].Width:=30;
 form70.DBGrid1.Columns[1].Width:=500;
  form70.dbgrid1.Columns[2].Width:=50;
   form70.dbgrid1.Columns[3].Width:=100;
    form70.dbgrid1.Columns[4].Width:=50;
    form70.dbgrid1.Columns[5].Width:=50;
     form70.dbgrid1.Columns[6].Width:=50;
       form70.dbgrid1.Columns[7].Width:=50;
       form70.dbgrid1.Columns[10].Width:=30;
 
 form70.Caption:='Процессоры AMD';
form71.Label2.Caption:='Наименование';
form71.Label3.Caption:='Ядро';
form71.Label4.Caption:='Частота процессора';
 form71.Label5.Caption:='Сокет';
 form71.Label6.Caption:='Объем кэша L2';
 form71.Label7.Caption:='Тип поставки';
form71.Label1.Caption:='Количество ядер';
form71.Label8.Caption:='Количество';
  form71.Label9.Caption:='Цена';
 
    form71.DBEdit2.DataSource:=form70.DBGrid1.DataSource;
  form71.DBEdit2.DataField:= form70.DBGrid1.DataSource.DataSet.Fields[1].FullName;
  form71.DBEdit3.DataSource:=form70.DBGrid1.DataSource;
   form71.DBEdit3.DataField:= form70.DBGrid1.DataSource.DataSet.Fields[2].FullName;
 
   form71.DBEdit4.DataSource:=form70.DBGrid1.DataSource;
    form71.DBEdit4.DataField:= form70.DBGrid1.DataSource.DataSet.Fields[3].FullName;
 
    form71.DBEdit5.DataSource:=form70.DBGrid1.DataSource;
     form71.DBEdit5.DataField:= form70.DBGrid1.DataSource.DataSet.Fields[4].FullName;
 
     form71.DBEdit6.DataSource:=form70.DBGrid1.DataSource;
     form71.DBEdit6.DataField:= form70.DBGrid1.DataSource.DataSet.Fields[5].FullName;
 
         form71.DBEdit7.DataSource:=form70.DBGrid1.DataSource;
     form71.DBEdit7.DataField:= form70.DBGrid1.DataSource.DataSet.Fields[6].FullName;
 
       form71.DBEdit1.DataSource:=form70.DBGrid1.DataSource;
     form71.DBEdit1.DataField:= form70.DBGrid1.DataSource.DataSet.Fields[7].FullName;
 
      form71.DBEdit8.DataSource:=form70.DBGrid1.DataSource;
     form71.DBEdit8.DataField:= form70.DBGrid1.DataSource.DataSet.Fields[9].FullName;
 
          form71.DBEdit9.DataSource:=form70.DBGrid1.DataSource;
     form71.DBEdit9.DataField:= form70.DBGrid1.DataSource.DataSet.Fields[10].FullName;
 
     Form71.Dbedit10.Visible:=false;
  Form71.Dbedit11.Visible:=false;
      Form71.Label10.Visible:=false;
    Form71.Label11.Visible:=false;
 Form70.DBGrid1.DataSource.DataSet.Fields[8].Visible:=false;     //видимость столбца
end;
2 таблица:

Код:
procedure TForm1.N3Click(Sender: TObject);
begin
 
   Form70.DBGrid1.DataSource:= DataModule1.DTform16;
 form70.DBImage1.DataSource:=datamodule1.DTform16;
 
   form70.Caption:='Материнская плата ASUS ';
form71.Label2.Caption:='Наименование';
form71.Label3.Caption:='Форм фактор';
form71.Label4.Caption:='Сокет';
form71.Label5.Caption:='Тип памяти';
form71.Label6.Caption:='Чипсет';
form71.Label7.Caption:='Количество';
form71.Label1.Caption:='Цена';
 
  form71.DBEdit2.DataSource:=form70.DBGrid1.DataSource;
  form71.DBEdit2.DataField:= form70.DBGrid1.DataSource.DataSet.Fields[1].FullName;
 
  form71.DBEdit3.DataSource:=form70.DBGrid1.DataSource;
   form71.DBEdit3.DataField:= form70.DBGrid1.DataSource.DataSet.Fields[2].FullName;
 
   form71.DBEdit4.DataSource:=form70.DBGrid1.DataSource;
    form71.DBEdit4.DataField:= form70.DBGrid1.DataSource.DataSet.Fields[3].FullName;
 
    form71.DBEdit5.DataSource:=form70.DBGrid1.DataSource;
     form71.DBEdit5.DataField:= form70.DBGrid1.DataSource.DataSet.Fields[4].FullName;
 
        form71.DBEdit6.DataSource:=form70.DBGrid1.DataSource;
     form71.DBEdit6.DataField:= form70.DBGrid1.DataSource.DataSet.Fields[5].FullName;
 
       form71.DBEdit7.DataSource:=form70.DBGrid1.DataSource;
     form71.DBEdit7.DataField:= form70.DBGrid1.DataSource.DataSet.Fields[6].FullName;
 
         form71.DBEdit1.DataSource:=form70.DBGrid1.DataSource;
     form71.DBEdit1.DataField:= form70.DBGrid1.DataSource.DataSet.Fields[7].FullName;
 
 
Form71.Label8.Visible:=false;
Form71.Label9.Visible:=false;
Form71.Label10.Visible:=false;
Form71.Dbedit8.Visible:=false;
Form71.Dbedit9.Visible:=false;
Form71.Dbedit10.Visible:=false;
  Form70.Show;
end;

Исходник: https://yadi.sk/d/vf36mtmNg9vXv
vovain вне форума Ответить с цитированием
Старый 27.04.2015, 15:10   #2
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

попробуй так
Код:
form71.DbEditXXX.DataSource:=nil; 
form71.DbeditXXX.dataField:=....FullName;
Form71.DbeditXXX.DataSource:=form70.Dbgrid.DataSource;
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 27.04.2015, 16:34   #3
vovain
Новичок
Джуниор
 
Регистрация: 27.03.2015
Сообщений: 2
По умолчанию

Цитата:
Сообщение от evg_m Посмотреть сообщение
попробуй так
Код:
form71.DbEditXXX.DataSource:=nil; 
form71.DbeditXXX.dataField:=....FullName;
Form71.DbeditXXX.DataSource:=form70.Dbgrid.DataSource;
А где это записывать? Примерно так? На FullName ругается.

Код:
 form71.DbEdit3.DataSource:=nil;
form71.Dbedit3.dataField[2].FullName;
Form71.Dbedit3.DataSource:=form70.DBGrideh1.DataSource;

form71.DBEdit3.DataSource:=form70.DBGrideh1.DataSource;
form71.DBEdit3.DataField:= form70.DBGrideh1.DataSource.DataSet.Fields[2].FullName;

Последний раз редактировалось Аватар; 27.04.2015 в 16:42.
vovain вне форума Ответить с цитированием
Старый 28.04.2015, 10:25   #4
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

там где у тебя было
Код:
form71.Dbedit3.Datasource:=... и что там далее
form71.Dbedit3.DataFiled:=... и что там далее заканчивающеся на FullName
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сохранение записи в DBEdit IgoreKMaN БД в Delphi 5 29.05.2012 02:54
проблема с обновлением БД lost name PHP 13 09.05.2012 22:14
Проблема с обновлением значения byzyan ASP.NET 1 13.03.2011 20:26
DBRadioGroup,проблема с обновлением Sinker БД в Delphi 8 17.04.2009 10:15
Проблема с обновлением KIS 7 Ronni10 Безопасность, Шифрование 2 07.03.2008 09:40