Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.93/43: Рейтинг темы: голосов - 43, средняя оценка - 4.93
0 / 0 / 0
Регистрация: 09.08.2010
Сообщений: 10
1

Прогресс бар + SQL база(Ожидание выполнения))

09.08.2010, 11:39. Показов 8946. Ответов 44
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здраствуйте уважаемые програмеры C#, вошел я в ваши ряды совсем недавно, воэтому вопрос мой может показаться достаточно ламмерским, но все же: есть форма Default.aspx работающая с SQL базой, иногда запрос выполняется более 2-х минут. Вопрос как внедрить туда какой нибудь прогресс бар или заблокировать страницу на время выполнения запроса, с выводом соответстующего сообщения типа: "Пожалуйста подождите". Помогите пожалуйста...
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.08.2010, 11:39
Ответы с готовыми решениями:

Потоки и прогресс бар
Делаю парсер кучи страниц (более 100000), хочу сделать так, чтобы программа не висла при загрузке и...

Ожидание выполнения команды в консоли
Создается процесс "cmd.exe" В нем выполняются последовательно команды с помощью перенаправления...

Запуск нескольких Task-ов и ожидание их выполнения
Всем доброго времени суток. Мне необходимо отправлять сразу несколько запросов на линки какого-либо...

Ожидания выполнения до конца или прогресс бар
Всем привет! Суть в том что при загрузке фотографий в БД , если закрыть окно - то фотографии...

44
0 / 0 / 0
Регистрация: 15.05.2013
Сообщений: 11
16.05.2013, 13:03 2
да, коллеги, подскажите, пожалуйста, меня этот вопрос тоже интересует
0
phantom96
17.05.2013, 12:36
  #3

Не по теме:

Скажите, что за запрос на 2 минуты? Вы выводите 100к пользователей на одной странице? Вы их всё равно не увидите, выделяйте нужное кол-во.

0
0 / 0 / 0
Регистрация: 15.05.2013
Сообщений: 11
17.05.2013, 19:32 4
какая разница сколько времени? интересует в принципе как сделать, чтоб прогресс бар отображал результат выполнения апдейта
0
Эксперт Java
4093 / 3827 / 745
Регистрация: 18.05.2010
Сообщений: 9,331
Записей в блоге: 11
19.05.2013, 08:50 5
Какая СУБД? MS SQL ?
В общем случаен это сложно/невозможно - делайте прогресс бар, который не показывает точного прогресса.
0
0 / 0 / 0
Регистрация: 15.05.2013
Сообщений: 11
20.05.2013, 09:34 6
СУБД MS SQL. почему сложно\невозможно? можно же как-то вынести выполнение скрипт в отдельный поток и прибавлять продвижение прогресс бар пока этот поток активен или как-то так, может можно сделать, чтоб прогресс бар прибавлял шаг за апдейт каждой строки...
Если б знал как реализовать, не задавал бы вопросов)
0
225 / 225 / 38
Регистрация: 17.12.2010
Сообщений: 713
20.05.2013, 10:04 7
Цитата Сообщение от D3upT Посмотреть сообщение
СУБД MS SQL. почему сложно\невозможно? можно же как-то вынести выполнение скрипт в отдельный поток и прибавлять продвижение прогресс бар пока этот поток активен или как-то так, может можно сделать, чтоб прогресс бар прибавлял шаг за апдейт каждой строки...
Если б знал как реализовать, не задавал бы вопросов)
в принципи тип бд не влияет

помню похожее делал делал на mysql, правда работал с процедурами и курсором, у меня было: когда курсор делает select и отправляет на комп, отображалось количество загруженных документов. используется SqlDataReader.NextResult
0
0 / 0 / 0
Регистрация: 15.05.2013
Сообщений: 11
20.05.2013, 10:06 8
Цитата Сообщение от Aloir Посмотреть сообщение
в принципи тип бд не влияет

помню похожее делал делал на mysql, правда работал с процедурами и курсором, у меня было: когда курсор делает select и отправляет на комп, отображалось количество загруженных документов. используется SqlDataReader.NextResult
ну мне нужен прогресс бар, на самый крайний случай какая-нибудь анимация и неактивность главного окна во время выполнения запроса
0
Master of Orion
Эксперт .NET
6100 / 4956 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
20.05.2013, 10:19 9
D3upT, на WPF устанавливается бесконечное время ожидания прогресс-бара, как сделать то же самое в винформе... Ну например заполнять до конца прогресс бар, а потом его очищать. И так до тех пор, пока все не выполнится.
0
225 / 225 / 38
Регистрация: 17.12.2010
Сообщений: 713
20.05.2013, 10:29 10
Цитата Сообщение от Psilon Посмотреть сообщение
D3upT, на WPF устанавливается бесконечное время ожидания прогресс-бара, как сделать то же самое в винформе... Ну например заполнять до конца прогресс бар, а потом его очищать. И так до тех пор, пока все не выполнится.
можно в прогресс бар установить style в Marquee, тогда он будет бесконечно ездить с 1 стороны в другую
1
Master of Orion
Эксперт .NET
6100 / 4956 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
20.05.2013, 10:31 11
Aloir, ну да, это я и имел ввиду. Только не знал, как в винформе оно выставляется

Не по теме:

обожаю лабиринт отражений

0
0 / 0 / 0
Регистрация: 15.05.2013
Сообщений: 11
20.05.2013, 11:58 12
Цитата Сообщение от Aloir Посмотреть сообщение
можно в прогресс бар установить style в Marquee, тогда он будет бесконечно ездить с 1 стороны в другую
я бы хотел, чтоб он реально состояние отображал (от 0% до 100%)

ну или как сделать чтоб этот прогресс бар вылезал во время выполнения запроса как новая форма и закрывался по завершении?
0
225 / 225 / 38
Регистрация: 17.12.2010
Сообщений: 713
20.05.2013, 12:20 13
Цитата Сообщение от D3upT Посмотреть сообщение
я бы хотел, чтоб он реально состояние отображал (от 0% до 100%)

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

состояние от 0 до 100, зависит от специфики выполняемых действий в бд.

например если вы делаете update, то ставим макс значения прогресс бара на кол обновляемых записей, и с каждой обновленной записью увеличиваем счетчик в progressBar

если select с курсором, я писал выше, после каждой отправки данных с сервера на комп, увеличиваем счетчик

тоесть для отображения такой инфы мы должны знать конечное значение
0
Эксперт Java
4093 / 3827 / 745
Регистрация: 18.05.2010
Сообщений: 9,331
Записей в блоге: 11
20.05.2013, 12:36 14
Цитата Сообщение от D3upT Посмотреть сообщение
можно же как-то вынести выполнение скрипт в отдельный поток и прибавлять продвижение прогресс бар пока этот поток активен или как-то так, может можно сделать, чтоб прогресс бар прибавлял шаг за апдейт каждой строки
В этом то и проблема - неизвестно насколько прибавлять. СУБД не имеет такого API, чтобы можно было точно сказать когда запрос завершится, и насколько мы продвинулись.
0
192 / 192 / 29
Регистрация: 03.12.2009
Сообщений: 853
20.05.2013, 12:43 15
Мне кажется в вашем случае самый нормальный вариант - это использовать бесконечно "ездящий" прогрес бар, какойнибудт аналог из WPF
XML
1
 <ProgressBar Height="20" Width="300" IsIndeterminate="True"></ProgressBar>
0
0 / 0 / 0
Регистрация: 15.05.2013
Сообщений: 11
20.05.2013, 13:10 16
Цитата Сообщение от Aloir Посмотреть сообщение
как? ну создаете форму, кидаете прогресс бар, в это время выполняете действия в бд, например в отдельном потоке, когда поток завершился закрываете форму...

состояние от 0 до 100, зависит от специфики выполняемых действий в бд.

например если вы делаете update, то ставим макс значения прогресс бара на кол обновляемых записей, и с каждой обновленной записью увеличиваем счетчик в progressBar

если select с курсором, я писал выше, после каждой отправки данных с сервера на комп, увеличиваем счетчик

тоесть для отображения такой инфы мы должны знать конечное значение

мне самая обычная форма не нужна, нужно, чтоб сам прогресс бар был формой
0
225 / 225 / 38
Регистрация: 17.12.2010
Сообщений: 713
20.05.2013, 13:21 17
Цитата Сообщение от D3upT Посмотреть сообщение
мне самая обычная форма не нужна, нужно, чтоб сам прогресс бар был формой
ну можно убрать границы все у формы.. она будет как panel выглядеть, и подогнать под размер progressbara.
так или иначе его надо на чем то выводить, просто в воздух его подвесить не получится..
контрол должен принадлежать какому-то окну(CWnd если углубляться...) так или иначе

можно на основной форме создать какую динамически создавать панел накинуть туда progressbar.. но это бредово звучит =)
0
Master of Orion
Эксперт .NET
6100 / 4956 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
20.05.2013, 13:23 18
Aloir, контрол и есть окно, если углубляться
0
225 / 225 / 38
Регистрация: 17.12.2010
Сообщений: 713
20.05.2013, 13:26 19
Цитата Сообщение от Psilon Посмотреть сообщение
Aloir, контрол и есть окно, если углубляться
ну это да, но мы его так увы не выведем, чтобы он самостоятельным был
(покрайне мере если мне память не подводит и чтобы без гемора было, хотя.. . )


Не по теме:


что-то появилась мысль поизвращаться :D:D:D

0
0 / 0 / 0
Регистрация: 15.05.2013
Сообщений: 11
20.05.2013, 13:32 20
Цитата Сообщение от Aloir Посмотреть сообщение
ну можно убрать границы все у формы.. она будет как panel выглядеть, и подогнать под размер progressbara.
так или иначе его надо на чем то выводить, просто в воздух его подвесить не получится..
контрол должен принадлежать какому-то окну(CWnd если углубляться...) так или иначе
а можно примерчик какой-нить, а то я не совсем понимаю, о чем речь, я совсем недавно начал заниматься C#
0
20.05.2013, 13:32
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.05.2013, 13:32
Помогаю со студенческими работами здесь

Oledbconnection ожидание выполнения запроса к БД
Здравствуйте добрые люди. У меня есть проблема. я прогоняю скрипт к БД ms sql на 2000 серверах. и...

Ожидание выполнения метода [цепочка методов]
Здравствуйте. Мне нужно чтобы методы выполнялись друг за другом, ожидая выполнения предыдущего и не...

База данных (Ожидание при открытие БД)
Создал БД SQLCE База данных имеет более 20 000 строк Для отображении данных используется Listview...

прогресс бар, который отражал бы действительное положение дел
ВСЕМ привет, при длительном выполнении скрипта белый экран браузера выглядит не хорошо, как в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru