![]() |
|
Модераторы: gambit |
![]()
|
|
| aldari |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 65 Регистрация: 5.3.2007 Репутация: нет Всего: нет |
Здравствуйте,
По книге написал приложение на C# в VS 2008 EE с использованием технологии DataBinding. А точнее перетащил с вкладки data sources на формочку ярлык таблицы и VStudio создала объекты DataSet, DataBinding, DataGridView, DataAdapter. По мере роста числа записей в БД время запуска и количество потребляемой памяти ростет. Теоретически, решение - сократить количество записей возвращаемых из БД. Изменил запрос метода Fill, в результате колиство отображаемых в таблице DataGridView строк значительно уменьшилось, а объем занимаемой оперативки нисколько! Подскажите как можно уменьшить количество используемой оперативной памяти в таком приложении? |
|||
|
||||
| mrbrooks |
|
||||
![]() трололомен ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4259 Регистрация: 4.10.2006 Где: Дол Гулдур Репутация: 5 Всего: 306 |
Визуально - да. Количество строк уменьшилось. Но на самом деле все одно в DataSet загружаются все, что соответствует запросу.
гуглите на тему Paging DataGridView |
||||
|
|||||
| Экскалупатор |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1746 Регистрация: 1.4.2009 Где: г. Минск Репутация: 3 Всего: 24 |
скорее всего, выборка идет всех данных из базы. то что они не отображаются ниочем не говорит. мне кажется лучше всего выбирать из базы только то что нужно, а не все подряд. тогда не будет большого расхода памяти, но придется чаще обращаться к базе.
|
|||
|
||||
| mrbrooks |
|
|||
![]() трололомен ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4259 Регистрация: 4.10.2006 Где: Дол Гулдур Репутация: 5 Всего: 306 |
те же яйца - только в профиль ©
|
|||
|
||||
| aldari |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 65 Регистрация: 5.3.2007 Репутация: нет Всего: нет |
Все верно говорите.
Я хотел бы иметь те плюсы которые дает привязка данных (data binding ) - обновление информации, добавлнение, (удаление на стороне клинта не подразумевается). Но при использовании Data Paging я теряю пивязку данных. Не желательно при написании клиента быть сильно привязанным к структуре реляционной БД. Вот здесь нашел статью на английском: http://www.15seconds.com/issue/040614.htm. В ней написанно как можно привязать компоненты к свойствам объектам и колекции объектов. Таким образом можно создавать столько объектов скольо нужно и иметь привязку. Если у кого есть материал по этой теме прошу поделиться, направить в какую сторону копать. |
|||
|
||||
| mrbrooks |
|
|||
![]() трололомен ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4259 Регистрация: 4.10.2006 Где: Дол Гулдур Репутация: 5 Всего: 306 |
||||
|
||||
| gegemon |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 19.7.2008 Репутация: нет Всего: нет |
ds - объект DataSet; da1, da2 - объекты DataAdapter
Примерно так, то есть отключить и включить EnforceConstraints. Так мы выключаем соблюдение ограничений типа PRIMARYKEY или UNIQUE, вызываем Fill и снова блюдём ограничения)) Производительность при увеличении записей должна повыситься. ЗЫ Как раз сегодня у читал об этом у Сеппы =) ЗЗЫ Если что не так сказал, извиняйте - с ADO.NET знаком буквально 2 дня.. |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, stab, mr.DUDA, Exception. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Базы данных под .NET | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |