Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Фильтр и сортировка на клиенте  [new]
Mishenka
Member

Откуда:
Сообщений: 12
Есть база на MS SQL Server и есть клиентское приложение, которое выводит в таблице один из запросов из базы. Клиентское приложение должно поддерживать сортировку и фильтр по каждому из столбцов.
1. Как это лучше осуществить получать с сервера запрос и фильтровать и сортировать уже на клиенте или передавать на сервер параметры фильтрации и сортировки и всё делать уже там?
2. Если всё делать на сервере, то как это лучше сделать, то есть допустим у меня есть три параметра: имя столбца, направление сортировки (вверх или вниз), а также условие фильтрации, как это всё запихать в запрос?
24 ноя 09, 13:42    [7970305]     Ответить | Цитировать Сообщить модератору
 Re: Фильтр и сортировка на клиенте  [new]
iljy
Member

Откуда:
Сообщений: 8711
Mishenka,

делайте на клиенте и не морочьте голову. Не надо лишний раз грузить сервер обезьяньей работой, а себя - изобретением велосипеда.
24 ноя 09, 13:44    [7970332]     Ответить | Цитировать Сообщить модератору
 Re: Фильтр и сортировка на клиенте  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 36800
iljy
Mishenka,

делайте на клиенте и не морочьте голову. Не надо лишний раз грузить сервер обезьяньей работой, а себя - изобретением велосипеда.
Особенно прикольно будет делать фильтрацию таблицы в пару миллионов записей на клиенте.
24 ноя 09, 13:46    [7970346]     Ответить | Цитировать Сообщить модератору
 Re: Фильтр и сортировка на клиенте  [new]
iljy
Member

Откуда:
Сообщений: 8711
Гавриленко Сергей Алексеевич
Особенно прикольно будет делать фильтрацию таблицы в пару миллионов записей на клиенте.

Ну вообще я говорил главным образом о сортировке. Фильтрацию конечно по возможности на сервере надо делать, хотя и тут возможны варианты. Если в таблице 1000 записей, а фильтры ограничиваются только фантазией юзера - проще вытянуть все и играться на клиенте
24 ноя 09, 14:11    [7970563]     Ответить | Цитировать Сообщить модератору
 Re: Фильтр и сортировка на клиенте  [new]
Mishenka
Member

Откуда:
Сообщений: 12
Ну в общем решил делать через сервер, только никак не могу разобраться, как составить процедуру

CREATE PROCEDURE ProcedureName
	@ColumnName VarChar(20); // Имя столбца для сортировки
             @OrderDirection Int; // если 1 то по возрастанию и 0 по убыванию
             @Filter VarChar(255); // условие фильтра, которое надо добавить в WHERE
AS
BEGIN
   SELECT Col1, Col2, Col3
   FROM MyTable
   WHERE Col1 = 3 AND Col2 > 5
   ORDER BY ...
END
GO

Соответственно надо, чтобы в ORDER BY добавилось навзание столбца из @ColumnName, а к WHERE добавилось значение из @Filter. Если просто написать переменные, то возникает ошибка. Как тогда правильно написать запрос ?
24 ноя 09, 16:52    [7972192]     Ответить | Цитировать Сообщить модератору
 Re: Фильтр и сортировка на клиенте  [new]
Konst_One
Member

Откуда:
Сообщений: 11513
динамический sql
24 ноя 09, 16:55    [7972226]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить