4 / 4 / 3
Регистрация: 06.05.2015
Сообщений: 93
|
|
1 | |
Обновление данных в DataGridView по таймеру16.06.2015, 12:40. Показов 4515. Ответов 16
Метки нет (Все метки)
Всем привет, подскажите как правильно сделать - у меня на форме создаются и заполняются гриды через функцию.
Мне надо заставить их обновляться. Так вот, как правильно это сделать?
0
|
16.06.2015, 12:40 | |
Ответы с готовыми решениями:
16
Обновление Datagridview по таймеру, только если данные в источнике были изменены Обновление данных в DataGridView Обновление данных в DataGridView Обновление данных в datagridview |
4 / 4 / 3
Регистрация: 06.05.2015
Сообщений: 93
|
|
17.06.2015, 05:14 [ТС] | 4 |
nio, из таблицы заполняются ,каждый отдельной информацией.
так как в таблицы данные изменяются, вот мне и надо чтобы на форме тоже менялись. таблица содержит крайние значения нескольких таблиц. плюс еще показывает наличие связи к бд.
0
|
17.06.2015, 11:07 | 5 |
Лучше организовать это с помощью таймера и фонового потока. Почитай, может пригодится Контроль изменений в сетевых БД
1
|
4 / 4 / 3
Регистрация: 06.05.2015
Сообщений: 93
|
|
17.06.2015, 13:52 [ТС] | 6 |
nio, а есть способ следить за связью с бд через си шарп? или лучше это делать через sql?
0
|
17.06.2015, 14:19 | 7 |
я не понял вопрос. Это какой-то набор слов не имеющий смысла.
что ты понимаешь под "связью с бд"? C# - это язык программирования, SQL - тоже язык, они разные и решают разные задачи.
0
|
4 / 4 / 3
Регистрация: 06.05.2015
Сообщений: 93
|
|
18.06.2015, 05:51 [ТС] | 8 |
nio, видимо корректно спрашивать не научился я)
передо мной стоит задача следить есть ли связь с источниками данных. и выводить все это на форму. типо - связь да/нет. под источником данных подразумевается связанные серверы. мне нужно в рельном вреени следить есть ли с ними связь.
0
|
18.06.2015, 09:26 | 10 |
в этом нет необходимости. При отсутствии связи соединение не будет установлено, и запрос не выполнится, т.е. достаточно try-catch с нормальным обработчиком. В "древние" времена проверка наличия соединения была актуальна, но при работе с отсоединёнными базами данных весь смысл заключается в том, что большую часть времени связи с БД нет, она устанавливается только на время выполнения запроса.
Работая с реальным софтом с удалёнными БД могу сказать, что в рамках локальной сети данная опция не востребована чуть менее чем всегда. Никто не смотрит в статусбар и не читает, что там написано
1
|
4 / 4 / 3
Регистрация: 06.05.2015
Сообщений: 93
|
|
18.06.2015, 11:07 [ТС] | 11 |
nio, эх, начальство бы тоже так считало)
0
|
11 / 11 / 0
Регистрация: 16.09.2013
Сообщений: 75
|
|
18.06.2015, 11:29 | 12 |
ну если так уж сильно хочется, почему бы не пускать отдельный поток для проверки через каждые там 5 минут, что соединение не отвалилось...
но я согласен с nio, что это нафик никому не нужно.
1
|
4 / 4 / 3
Регистрация: 06.05.2015
Сообщений: 93
|
|
18.06.2015, 13:57 [ТС] | 13 |
Shoorup_SCBist, а что в этом отдельном потоке делать? как вы писали open-close?
Добавлено через 14 минут nio, Shoorup_SCBist, тут ситуация такая - что нужно за этими источниками, чтобы с них текла инфа постоянно и не было разрывов. Вот отдельный модуль и пишу для такого, шде последние значения и даты и собственно связь. такое вот дело)
0
|
11 / 11 / 0
Регистрация: 16.09.2013
Сообщений: 75
|
|
18.06.2015, 14:23 | 14 |
Я конечно не спец... но собственно я так и делаю. Вроде все работает и как надо. Просто если не в поток, то приложение зависнет, если например не тот адрес указали или еще чего... или если соединения не будет. Например у меня в гигабитной сетке при первом подключении к серверу задержка где-то секунда, потом незаметна - это если все гуд. Но если например сервер недоступен и пытаемся к нему закконектится, то процедура эта секунд на 15. Пользователи от таких зависов волосы на опе рвать будут. Поэтому пусть поток пыхтит.
1
|
18.06.2015, 16:14 | 15 |
Ну для начала следует сказать, что фактически непрерывности быть не может, можно организовать такую частоту приёма данных, что процесс будет казаться непрерывным. Но данные в базе будут появляться с какими-то промежутками времени. Целесообразно забирать данные после их появления. Также следует учитывать, какие именно данные будут в этой таблице, и на сколько велика в них необходимость, что нужна непрерывная заливка. Опять же любое решение имеет свою цену. Можно организовать запросы с частотой 25 раз в секунду, но при больших объёмах данных и большом количестве пользователей, возрастёт нагрузка на СУБД, есть вероятность что из-за большого количества данных или некачественного сетевого соединения запросы клиента не будут успевать отрабатывать до начала следующего запроса, это если забирать данные целиком, если забирать данные только "свежие", то проблема частично решится, но появятся вопросы синхронизазации.
В пятом посте я давал ссылку на принципы обновления данных, рекомендую ещё раз внимательно почитать. Добавлено через 7 минут ЗЫ: если будет идти "непрерывная" заливка данных, то городить индикатор наличия соединения смысла нет, ошибка выскочит как только соединение будет потеряно, а нагружать сервер дополнительными проверками в данном случае точно нет смысла, это только ухудшит ситуацию
1
|
4 / 4 / 3
Регистрация: 06.05.2015
Сообщений: 93
|
|
19.06.2015, 10:21 [ТС] | 16 |
insite2012, а создать его надо в самой главной форме? или где у меня тчока входа main? или можно где угодно?
Добавлено через 2 часа 24 минуты Shoorup_SCBist, а можно на определенный ипи адрес слать проверку, типо есть с ним свзь или неть? и получат ьпотом отчет об этом? через шрап
0
|
11 / 11 / 0
Регистрация: 16.09.2013
Сообщений: 75
|
||||||||||||||||
19.06.2015, 10:33 | 17 | |||||||||||||||
Pasterna AS, не претендую на красоту и правильность...
Вот так например я сделал (пока) сам коннект:
Ну и вызываем все это через некоторое время. Например в событии тик таймера пишем
уже выводим куданить сообщение что коннект есть ли нет ну и если есть можно его наверно и закрыть Connection.Close();
1
|
19.06.2015, 10:33 | |
19.06.2015, 10:33 | |
Помогаю со студенческими работами здесь
17
Обновление данных из DataGridView в БД DataGridView обновление данных в базе. Обновление измененных данных из БД в DataGridView Обновление данных в БД из dataGridView (DataSet) Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |