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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 04.04.2012, 00:12   #1
Akunin88
Новичок
Джуниор
 
Регистрация: 04.04.2012
Сообщений: 2
По умолчанию Проблемы пр иобновлении DBGrid

Здравствуйте. Вопрос следующий:
Есть СУБД недоделанная. Организация: TADOConnection -->TADOTable-->TDataSourse<->DBGrid
2 таблицы с 2 датасорсами -'пользователи' и 'Их устройства записи'.Связь между ними реализована по полю UserID(ключевое поле таблицы 'Пользователей')
На Форме в первой DBGRid отображение таблицы 'пользователей', во второй, соотвественно, отображение таблицы 'устройств', только тех,
которые принадлежат данному пользователю(при переходе по привязанному навигатору к DBGrid 'Пользователей'). код такой

dm.adoUsers.Active:=true; //есть доступ к 1 таблице
dm.adoUsers.Refresh; //обновление 1 таблицы-если в него были занесены изменения
dbGridM.DataSource:=dm.dsUsers;
dbGridM.Columns.RebuildColumns;
gridColumnUsers(dbGridM); //перестройка размеров 1 таблицы
dbGridM.Visible:=true; //видно 1 таблицу

//отображение устройств у выбранного пользователя
dm.adoShowDevices.MasterSource:=dm. dsUsers;
dm.adoShowDevices.MasterFields:='Us erID';
dm.adoShowDevices.Active:=true; //есть доступ ко 2 таблице
dm.adoShowDevices.Refresh; //обновление 2 таблицы-если в нее были занесены изменения
dbGridDev.Columns.RebuildColumns;
dbGridDev.DataSource:=dm.dsShowDevi ces;
dbGridDev.Columns.RebuildColumns;
gridColumnDevices(dbGridDev); //перестройка размеров 2 таблицы под пользователей
dbGridDev.Visible:=true; //видно 2 таблицу

dbnavigator1.DataSource:=dm.dsUsers ; //навигатор подцеплен к таблице Users

на другой форме в программе есть возможность добавления в базу 'устройств'+привязка к пользователю(по полю UserID). НО(!) при этом почему-то в DBGrid
(в котором отображаются носители у данного пользователя) не происходит обновление. Хотя в базу все данные нормально пишет!
dbGridDev.Refresh не работает, все adoTable-ы Active:=true;
также пробовал dm.adoShowDevices.MasterSource.Refr esh...
при новом запуске программы-все нормально отображается...
Помогите, пожалуйта. Только начал учиться работать на Delphi
Akunin88 вне форума Ответить с цитированием
Старый 04.04.2012, 08:54   #2
Прик
Форумчанин
 
Регистрация: 08.09.2010
Сообщений: 880
По умолчанию

После записи данных в базу:
Код:
  dm.adoShowDevices.Close;
  dm.adoShowDevices.Open;
Refresh здесь не помощник.

P.S. Не мешало бы объявлять о какой СУБДЕ речь.
Прик вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
связь одной dbgrid c другой dbgrid anabenne БД в Delphi 3 17.10.2011 10:15
Проблемы с CheckBox в DBGrid Aleksandr Общие вопросы Delphi 2 19.02.2010 15:21
проблемы экспорта данных из DBGrid в Excel GhostBZ БД в Delphi 11 31.08.2009 07:20
Перемещение даннах из dbgrid в dbgrid Hobbit_88 БД в Delphi 7 10.06.2009 13:33
перенос данных из DBGrid в DBGrid KingSize БД в Delphi 17 24.04.2009 09:30