Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Базы данных под .NET > Ограничить количество строк


Автор: retto 13.12.2010, 11:06
необходимо ограничить количество записей которые выбираются с БД. Добавлять ограничение в запросе очень неудобно, тобишь оооочень много запросов, и в каждом писать задолбусь. 
Можно ли ограничить количество выводимих строк с помощью bindingsource? или если есть другие способы, подскажите пжслт их  smile 

Автор: NZero 13.12.2010, 11:22
а в чем выводите данные?

Автор: retto 13.12.2010, 11:23
NZero,  в datagridview

Автор: Artemon 13.12.2010, 11:46
Правильный вариант - ограничивать записи именно через запрос.

Т.к. может случится так, что вы ради одной нужной записи будете выбирать миллион записей smile

Поэтому не поленитесь в начале запроса пишите SELECT TOP <НУЖНОЕ_КОЛИЧЕСТВО_ЗАПИСЕЙ> (этот вариан тподойдет для MSSQL Server),
Для MySql используйте LIMIT <НУЖНОЕ_КОЛИЧЕСТВО_ЗАПИСЕЙ> (в конце запроса)

Автор: NZero 13.12.2010, 11:51
Есть вариант ограничивать число строк в самом датагриде!

Автор: retto 13.12.2010, 11:52
Цитата(Artemon @  13.12.2010,  11:46 Найти цитируемый пост)
Т.к. может случится так, что вы ради одной нужной записи будете выбирать миллион записей

согласен на все 100%. 
з.ы. как написать запрос  с ограничением строк я знаю  smile .

Добавлено через 1 минуту и 14 секунд
NZero, при использовании BindingSource ограничение через свойство RowCount в гриде не работает. 

Автор: starostin 20.12.2010, 15:22
Я в проекте над которым сейчас работаю, беру высоту формы и делю на высоту строк датагрида, получить эти значения абсолюно тривиальная задача. То что получаю для меня и являеться количеством отображаемых яйчеек. Кстате крайне рекомендую попробывать вот это http://msdn.microsoft.com/ru-ru/library/ms171625(v=VS.90).aspx

Автор: A5uKa 20.12.2010, 15:43
Код

SELECT TOP @XX ... FORM ...


?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)