Есть стандартный набор DataSource, DataSet, TableAdapter и DataGridView на форме.
В отдельном потоке в БД (локальная ACCESS) происходит занесение в БД значений. Все работает харашо. Данные в БД добавляются в реальном времени.
Вопрос — как сделать чтобы при добавлении значений в БД обнавлялся DataGridView??? Где и какой метод вызвать???
Заранее большое спасибо.
15.12.06 13:43: Перенесено модератором из '.NET' — Хитрик Денис
Здравствуйте, GooDVim, Вы писали:
GDV>Подскажите поалуйста:
GDV>Есть стандартный набор DataSource, DataSet, TableAdapter и DataGridView на форме. GDV>В отдельном потоке в БД (локальная ACCESS) происходит занесение в БД значений. Все работает харашо. Данные в БД добавляются в реальном времени.
GDV>Вопрос — как сделать чтобы при добавлении значений в БД обнавлялся DataGridView??? Где и какой метод вызвать???
GDV>Заранее большое спасибо.
Здравствуйте, GooDVim, Вы писали:
GDV>Подскажите поалуйста:
GDV>Есть стандартный набор DataSource, DataSet, TableAdapter и DataGridView на форме. GDV>В отдельном потоке в БД (локальная ACCESS) происходит занесение в БД значений. Все работает харашо. Данные в БД добавляются в реальном времени.
GDV>Вопрос — как сделать чтобы при добавлении значений в БД обнавлялся DataGridView??? Где и какой метод вызвать???
GDV>Заранее большое спасибо.
из базы ты никаких событий не полу4ишь — следовательно тут могут быть тока два варианта — либо обновлять грид 4ерез некоторое время, либо этот "отдельный поток" будет слать нотификации твоему приложению (используя dde например).
Все фигня кроме п4ел... П4елы впринципе тоже фигня, но их много.
Здравствуйте, slmoloch, Вы писали:
S>Здравствуйте, GooDVim, Вы писали:
GDV>>Подскажите поалуйста:
GDV>>Есть стандартный набор DataSource, DataSet, TableAdapter и DataGridView на форме. GDV>>В отдельном потоке в БД (локальная ACCESS) происходит занесение в БД значений. Все работает харашо. Данные в БД добавляются в реальном времени.
GDV>>Вопрос — как сделать чтобы при добавлении значений в БД обнавлялся DataGridView??? Где и какой метод вызвать???
GDV>>Заранее большое спасибо.
S>из базы ты никаких событий не полу4ишь — следовательно тут могут быть тока два варианта — либо обновлять грид 4ерез некоторое время, либо этот "отдельный поток" будет слать нотификации твоему приложению (используя dde например).
Т.е. из отдельного потока, из которого в БД заносятся данные нельзя обновить Грид на форме???
А я пробовал ради интереса на таймер повесил событие DataGridView1.Update(); — не работает, такое впечатление, что откуда грид значения берет — ТэйблСурс вроде — он не обновляет значения из БД. А туда я их заношу инсертом по отдельной ОлеДбКоманде...
Здравствуйте, GooDVim, Вы писали:
GDV>Т.е. из отдельного потока, из которого в БД заносятся данные нельзя обновить Грид на форме??? GDV>А я пробовал ради интереса на таймер повесил событие DataGridView1.Update(); — не работает, такое впечатление, что откуда грид значения берет — ТэйблСурс вроде — он не обновляет значения из БД. А туда я их заношу инсертом по отдельной ОлеДбКоманде...
А пробовал вызывать твойDataAdapter.Fill (твойDataSet) ?
Здравствуйте, GooDVim, Вы писали:
GDV>Здравствуйте, slmoloch, Вы писали:
S>>Здравствуйте, GooDVim, Вы писали:
GDV>>>Подскажите поалуйста:
GDV>>>Есть стандартный набор DataSource, DataSet, TableAdapter и DataGridView на форме. GDV>>>В отдельном потоке в БД (локальная ACCESS) происходит занесение в БД значений. Все работает харашо. Данные в БД добавляются в реальном времени.
GDV>>>Вопрос — как сделать чтобы при добавлении значений в БД обнавлялся DataGridView??? Где и какой метод вызвать???
GDV>>>Заранее большое спасибо.
S>>из базы ты никаких событий не полу4ишь — следовательно тут могут быть тока два варианта — либо обновлять грид 4ерез некоторое время, либо этот "отдельный поток" будет слать нотификации твоему приложению (используя dde например).
GDV>Т.е. из отдельного потока, из которого в БД заносятся данные нельзя обновить Грид на форме??? GDV>А я пробовал ради интереса на таймер повесил событие DataGridView1.Update(); — не работает, такое впечатление, что откуда грид значения берет — ТэйблСурс вроде — он не обновляет значения из БД. А туда я их заношу инсертом по отдельной ОлеДбКоманде...
GDV>Вот так вот...
Хм, может затык где — нибудь в кешировании? то есть датагрид обновляеться, но сорс отдает ему данные не из базы , а из кеша?
Все фигня кроме п4ел... П4елы впринципе тоже фигня, но их много.
А почему бы не использовать классическую трехуровневую архитектуру? Тогда промежуточный слой может заносить в БД данные и оповещать об этом остальных клиентов. Архитектура этого слоя полностью в руках програмиста, втом числе и генерация любых событий. Клиенту только надо их обрабатывать.
Здравствуйте, Светлояр, Вы писали:
С>Здравствуйте, GooDVim, Вы писали:
GDV>>Т.е. из отдельного потока, из которого в БД заносятся данные нельзя обновить Грид на форме??? GDV>>А я пробовал ради интереса на таймер повесил событие DataGridView1.Update(); — не работает, такое впечатление, что откуда грид значения берет — ТэйблСурс вроде — он не обновляет значения из БД. А туда я их заношу инсертом по отдельной ОлеДбКоманде...
С>А пробовал вызывать твойDataAdapter.Fill (твойDataSet) ?
я пробовал! Нифига не пашет эта команда, хотя в базе все данные уже обновились. даже пробовал заново создать адаптер, этим адаптером залить данные в таблицу в датасете, установить сорс для датагридвью
SqlDataAdapter da2 = new SqlDataAdapter(cmdSelect);
da2.Fill(dsTable, "Table");
dgwTable.DataSource = dsTable.Tables[0];