|
0 / 0 / 0
Регистрация: 31.07.2014
Сообщений: 21
|
||||||
Зависание при заполнении dataset 400 000 записей. Как поместить это в отдельный поток10.08.2014, 18:06. Показов 1887. Ответов 13
Метки нет (Все метки)
Всем добрый день, такой вопрос: Заполняю dataset таким образом:
0
|
||||||
| 10.08.2014, 18:06 | |
|
Ответы с готовыми решениями:
13
Как поместить контрол в отдельный поток?
Ошибка переполнения при заполнении DataSet |
|
403 / 86 / 8
Регистрация: 16.02.2013
Сообщений: 356
|
|
| 10.08.2014, 19:56 | |
|
400 000 записей в DataSet - это зло.
Не тяните на клиента все, что есть. Если окончания запроса надо дождаться обязательно - выводите какую-нибудь анимацию "ждите". Если не надо - запустите заполнение в отдельном потоке. ============= Стандартного решений по слежению за ходом выполнения запроса не существует, хотя я видел частные решения. Все они увеличивали время выполнения запроса
0
|
|
|
0 / 0 / 0
Регистрация: 31.07.2014
Сообщений: 21
|
|
| 10.08.2014, 20:29 [ТС] | |
|
Cat2, Так в том-то и дело, что я хочу, но не могу вывести анимацию "ждите" - виснет вся программа, мне совсем необязательно слежение за уровнем заполнения.
"Если не надо - запустите заполнение в отдельном потоке." можно подробности что это такое и что даст? Я понимаю, что такое количество записей - зло, но у меня вычисление статистики полученных записей на стороне клиента - нужны все, может быть конечно ручками потом переписать через ExecuteReader, если это ускорит процесс
0
|
|
|
|
|
| 10.08.2014, 20:40 | |
|
nunnt, BackgroundWorker вам может помочь.
1
|
|
|
Заблокирован
|
|
| 11.08.2014, 00:29 | |
|
В таких случаях нужно использовать многопоточность.
Вот несколько примеров, разбирайте. Изменение ProgressBar через отдельный поток Изменение размера объекта из другого потока Отображение процесса поключения к SQL Server
0
|
|
|
0 / 0 / 0
Регистрация: 31.07.2014
Сообщений: 21
|
|
| 11.08.2014, 08:32 [ТС] | |
|
Windoman, insite2012, Да,спасибо, поможет
0
|
|
|
403 / 86 / 8
Регистрация: 16.02.2013
Сообщений: 356
|
|||
| 12.08.2014, 18:53 | |||
|
Добавлено через 8 минут Если база MS SQL, то 99% таких задач могут быть решены на T-SQL, а для оставшегося 1% есть хранимые процедуры CLR http://technet.microsoft.com/r... 31094.aspx
1
|
|||
|
6721 / 3570 / 900
Регистрация: 28.10.2010
Сообщений: 5,937
|
|
| 12.08.2014, 19:32 | |
|
nunnt, загружать все данные в приложение не имеет смысла, пользователь не может видеть все 400 тысяч строк, да и ни к чему ему их видеть. Среди уже готовых решений есть DevExpress Server mode, либо можно попробовать набросать что-то вроде этого, но значительно проще.
1
|
|
|
0 / 0 / 0
Регистрация: 31.07.2014
Сообщений: 21
|
||||||
| 12.08.2014, 19:52 [ТС] | ||||||
|
Петррр, может, но да, я понял что ни к чему, когда увидел сколько ест памяти приложение. А можно вопрос на этот счет? Я сейчас в программе генерирую sql-строку (на основании позиций, которые выбирает пользователь в интерфейсе) и эту строку использую при подключении в
Да, извиняюсь, если глупый вопрос.
0
|
||||||
|
6721 / 3570 / 900
Регистрация: 28.10.2010
Сообщений: 5,937
|
||||||||||||||||
| 12.08.2014, 20:44 | ||||||||||||||||
|
nunnt, вообще, Вы ушли от первоначального вопроса. Но я всё же отвечу. К примеру у вас есть таблица:
1
|
||||||||||||||||
|
0 / 0 / 0
Регистрация: 31.07.2014
Сообщений: 21
|
|
| 12.08.2014, 20:57 [ТС] | |
|
Петррр, ок, спасибо, предыдущий пост с сылкой тоже очень помог
0
|
|
|
403 / 86 / 8
Регистрация: 16.02.2013
Сообщений: 356
|
|
| 12.08.2014, 21:56 | |
|
0
|
|
|
6721 / 3570 / 900
Регистрация: 28.10.2010
Сообщений: 5,937
|
|
| 12.08.2014, 22:10 | |
|
Cat2, рискнул предположить, что все данные отображаются в гриде, поэтому привел пример.
0
|
|
|
1057 / 864 / 195
Регистрация: 31.03.2010
Сообщений: 2,521
|
|
| 13.08.2014, 12:09 | |
|
nunnt, сервер работает значительно быстрее приложения. просто совершенно разный подход к данным.
следует просто лучше изучить sql он очень гибок. если будут сложности с определенным запросом - спросите на форуме, вам помогут.
1
|
|
| 13.08.2014, 12:09 | |
|
Помогаю со студенческими работами здесь
14
Вывести содержимое 5 000 000 страниц, а парсер останавливается на 400 Остановить отдельный поток при закрытии программы Как в С++ Builder из 2х потоков рисовать на форме квадратики(это первый поток рисует) и кружочки (2ой поток)) Как поместить функцию в отдельный файл? При помещении в отдельный поток сокет перестает видеть входные сообщения Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
|
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo
Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло.
Но на выплатах по больничным это. . .
|
1С: Контроль уникальности заводского номера
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере документа выдачи шин для спецтехники с табличной частью. Данные берутся из регистра сведений, по которому настроено. . .
|
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y
Z4Tv2zpXVVo
https:/ / github. com/ shumilovas/ med2. git
|
|
1С: Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа.
В качестве фильтра для отбора справочника служит группа номенклатуры.
Отбор по наименованию группы. . .
|
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
|
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс.
Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
|
1С: Программный отбор элементов справочника по значению перечисления
Maks 21.03.2026
Установка программного отбора элементов справочника "Сотрудники" из модуля формы документа.
В качестве фильтра для отбора служит значение перечислений.
/ / Событие "НачалоВыбора" реквизита на форме. . .
|