Модераторы: gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Обновление таблиц в БД 
:(
    Опции темы
shuttle
Дата 24.4.2011, 22:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 230
Регистрация: 9.4.2008

Репутация: нет
Всего: нет



Приложение - несколько форм.
В первой форме что то сделали: в пару таблиц внесли данные, потом запустили вторую форму там поработали с другой таблицей. Закрыли вторую форму вернулись к первой. Получается что таблица с которой работали из второй формы данные  либо не содержит, либо нет тех данных которые были внесены с запуска приложения.  

Разумеется при запуске каждой формы выполняется функция FormN_Load где (N=1,2,3,4,5,...). - номер формы.
в этой функции заполняются таблицы
Код

this.Table1TableAdapter.Fill(this.DBDataSet.Table1);


Делая вывод могу ответить на свой собственный вопрос - при закрытии второй формы надо подобным образом обновить таблицы в перой форме.

Но почему так - почему в каждой форме своя локальная копия БД. И как сделать одну копию на все приложение, что бы не обновлять каждый раз при закрытии дочерних форм.


--------------------
PM MAIL   Вверх
Экскалупатор
Дата 24.4.2011, 22:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1746
Регистрация: 1.4.2009
Где: г. Минск

Репутация: 3
Всего: 24



Цитата(shuttle @  24.4.2011,  21:01 Найти цитируемый пост)
Но почему так - почему в каждой форме своя локальная копия БД.

с чего ты это взял? ты куда вносишь данные? в DataSet?  или все же в DataGrid? или ты их сохраняешь в базе данных? это наверное немного разные вещи...
как ты понимаешь твой базе(DataSet`у и пр.) абсолютно до лампочки все формы, ровно как и формам абсолютно до лампочки все твои базы, они не делают локальные копии базы и пр. как ты прописал их логику так они и работают. если тебе надо что то хранить на уровне приложения, так сделай класс, который будет не зависеть от форм и который только будет хранить данные и отдавать их туда куда нужно(ну может и принимать если надо), и из этого класса заполняй свои формы.
PM MAIL ICQ   Вверх
shuttle
Дата 24.4.2011, 23:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 230
Регистрация: 9.4.2008

Репутация: нет
Всего: нет



Цитата(Экскалупатор @  24.4.2011,  22:08 Найти цитируемый пост)
ты куда вносишь данные? в DataSet?  или все же в DataGrid?

Заношу в DataSet но и в DataGrid они тоже отображаются.
Данные заношу следующим образом 

Код

DBDataSet.Table1.AddTable1Row(data1,data2,data3);

Table1TableAdapter.Update(DBDataSet);
DBDataSet.Table1.AcceptChanges();   

--------------------
PM MAIL   Вверх
Экскалупатор
Дата 24.4.2011, 23:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1746
Регистрация: 1.4.2009
Где: г. Минск

Репутация: 3
Всего: 24



shuttle, из первого поста видно что у тебя датасет существует в каком то конкретном классе(предполагаю что в первой форме), а остальные формы работают с этим датасетом или со своим собственным? и как(когда) они читают данные из базы?
сделай класс который будет хранить датасеты(или один) в себе, и с ним будут работать все формы.

Добавлено через 11 секунд
покажи код, будет проще
PM MAIL ICQ   Вверх
shuttle
Дата 25.4.2011, 00:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 230
Регистрация: 9.4.2008

Репутация: нет
Всего: нет



Цитата(Экскалупатор @  24.4.2011,  23:22 Найти цитируемый пост)
из первого поста видно что у тебя датасет существует в каком то конкретном классе(предполагаю что в первой форме)

На первую форму кинул DataSet, подключил к DB. затем пару DataGrid в которых отобразил таблицы. На второй форме - DataGrid, через свойства отобразил таблицу из уже существующего DataSet. Надо полагать что во второй форме создался свой DataSet.
Поэтому данные и не бьют.

Цитата(Экскалупатор @  24.4.2011,  23:22 Найти цитируемый пост)
как(когда) они читают данные из базы

в каждой форме при запуске в функции FormN_Load где (N=1,2,3,4,5,...). - номер формы. - В первом посте написал.

Цитата(Экскалупатор @  24.4.2011,  23:22 Найти цитируемый пост)
сделай класс который будет хранить датасеты

Это конечно правильно, но не прийдется ли в этом случае все программно описывать,  в то время когда я кидаю на форму DataSet большая часть кода делается уже за меня.

--------------------
PM MAIL   Вверх
Экскалупатор
Дата 25.4.2011, 01:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1746
Регистрация: 1.4.2009
Где: г. Минск

Репутация: 3
Всего: 24



Цитата(shuttle @  24.4.2011,  23:45 Найти цитируемый пост)
Это конечно правильно, но не прийдется ли в этом случае все программно описывать,  в то время когда я кидаю на форму DataSet большая часть кода делается уже за меня.

))) да, это сложно... я так понимаю, что про паттерны лучше не упоминать? а то там совсем много писать придется...


Цитата(shuttle @  24.4.2011,  23:45 Найти цитируемый пост)
На первую форму кинул DataSet, подключил к DB.

а почему не на каждую форму отдельный? тогда при сохранении в базу у тебя каждый раз будет происходить загрузка из таблицы.
PM MAIL ICQ   Вверх
shuttle
  Дата 25.4.2011, 19:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 230
Регистрация: 9.4.2008

Репутация: нет
Всего: нет



Цитата(Экскалупатор @  25.4.2011,  01:04 Найти цитируемый пост)
я так понимаю, что про паттерны лучше не упоминать? а то там совсем много писать придется...

Если только это не с++ и не паттерны проектирования smile 
--------------------
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
stab
mr.DUDA
Exception

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, stab, mr.DUDA, Exception.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Базы данных под .NET | Следующая тема »


 




[ Время генерации скрипта: 0.1111 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.