Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Базы данных
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 22.10.2008, 15:05
Kristofer Kristofer вне форума
Начинающий
 
Регистрация: 10.07.2006
Сообщения: 110
Репутация: 10
По умолчанию Сортировка (ms sql server 2005)

здрясте...
в общем установлен на удаленном... хм... не важно каком, компе
MS SQL Server 2005 и все к нему прилагающееся
есть програмка-клиент, которая отображает, добавляет, удаляет записи
вопрос:
в таблице есть три основные колонки -
1.менеджер. 2.организация. 3.дата (тип поля date/time кажись)
итак,
_________________________
менеджер|организация|дата
вася | юкола | 19.08
соска | пукола | 20.08
пупа | юкола | 15.08
балбес | бр.букины | 11.09

вот хочу, к примеру, весь этот ужас отсортировать по 1,2,3 столбцам
по отдельности каждый
а именно - по алфавиту (буковки) по номиналу (цыфирьки)
понимаю, вопрос обсуждался, но мозг высох, то что давал гугляшка не понял вообще
спасибо

примеры
1.имя (надеюсь с алфавитом у меня проблем нет)
_________________________
менеджер|организация|дата
балбес | бр.букины | 11.09
вася | юкола | 19.08
пупа | юкола | 15.08
соска | пукола | 20.08

2.организация
_________________________
менеджер|организация|дата
балбес | бр.букины | 11.09
соска | пукола | 20.08
вася | юкола | 19.08
пупа | юкола | 15.08

3. дата
_________________________
менеджер|организация|дата
пупа | юкола | 15.08
вася | юкола | 19.08
соска | пукола | 20.08
балбес | бр.букины | 11.09

Последний раз редактировалось Kristofer, 22.10.2008 в 15:12.
Ответить с цитированием
  #2  
Старый 22.10.2008, 15:23
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,015
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

А в чем собственно проблема.
Если сортирока на сервере, то в конце запроса добавляешь

ORDER BY [имя колонки] [ASC|DESC]

Можно даже перечислись несколько колонок.

Если сортирока на клиенте, то тут сервер вообще нипричем. Бери тот же DevExpress cxGrid - он умеет сортировать и даже гораздо более того...
Ответить с цитированием
  #3  
Старый 22.10.2008, 15:27
Kristofer Kristofer вне форума
Начинающий
 
Регистрация: 10.07.2006
Сообщения: 110
Репутация: 10
По умолчанию

сортировка на клиенте, просто для визуального восприятия, визуального поиска, вот об этом поподробнее о втором варианте, а тоб если знал не спрашивал бы, пасиб
Ответить с цитированием
  #4  
Старый 22.10.2008, 15:31
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,015
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

А что по поводу ыторого варианта.
Тебе нужен просто грид, который поддерживает сортировку.
Я пользуюсь cxGrid от Developer Express, у него куча разных возможностей, типа сортировки, группировки, итогов по столбцу и т.д. Но точно знаю, что есть еще гриды, поддерживающие как минимум сортировку на клиенте. Зайди на www.torry.ru, скачай себе несколько компонентов, поддерживающих по описанию то, что тебе надо, поставь и попробуй - выбери тот, что тебе больше понравится.
Ответить с цитированием
  #5  
Старый 22.10.2008, 15:56
Kristofer Kristofer вне форума
Начинающий
 
Регистрация: 10.07.2006
Сообщения: 110
Репутация: 10
По умолчанию

к сожалению мнеб ченить стандартное, во-первых - не нашел cxGrid, во-вторых у меня 7я (не знаю подойдет или нет), ну и у обычного дельфийского грида это тоже должно быть, по крайней мере в локалке я такое делал.
еще варианты будут? работа с данными в гриде (сортировка) осуществляется как с локальной по этому разницы, я думаю, не будет.

Последний раз редактировалось Kristofer, 22.10.2008 в 16:00.
Ответить с цитированием
  #6  
Старый 22.10.2008, 17:16
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,015
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Пойдет. cxGrid входит в пакет, в котором кроме него еще куча разных компонент. стандартного - только если сам напишешь на основе TStringGrid. но это долго, муторно и ненужно нафиг никому. Найди на торри подходящий компонент, поставь и используй. Хотя, если не надо редактировать в гриде, то можно попробовать сделать на TListView.
Ответить с цитированием
  #7  
Старый 22.10.2008, 17:20
Kristofer Kristofer вне форума
Начинающий
 
Регистрация: 10.07.2006
Сообщения: 110
Репутация: 10
По умолчанию

нука-нука, поподробнее о сортировке на сервере...
конкретно после сортировки через order данные в гриде изменятся - это понятно, но как это отразится на сервер? возникнут нагрузки, и как повлияет на базу? никак?
Ответить с цитированием
  #8  
Старый 22.10.2008, 17:25
Kristofer Kristofer вне форума
Начинающий
 
Регистрация: 10.07.2006
Сообщения: 110
Репутация: 10
По умолчанию

<цитата>Пойдет. cxGrid входит в пакет, в котором кроме него еще куча разных компонент.</цитата>
а можешь дать прямую ссылку на пакет, а то я чет не нашел
Ответить с цитированием
  #9  
Старый 22.10.2008, 17:33
Kristofer Kristofer вне форума
Начинающий
 
Регистрация: 10.07.2006
Сообщения: 110
Репутация: 10
По умолчанию

все, про order by почитал, все ясно
буду пробовать так, только там не было про [ASC|DESC]
наверное это как-то связано с порядком сортировки?
например по номиналу цыфирь - возрастание/убывание
это так?

все, и это нашел!!!
санкс,

mysql> SELECT name, birth FROM pet ORDER BY birth;
+----------+------------+
| name | birth |
+----------+------------+
| Buffy | 1989-05-13 |
| Bowser | 1989-08-31 |
| Fang | 1990-08-27 |
| Fluffy | 1993-02-04 |
| Claws | 1994-03-17 |
| Slim | 1996-04-29 |
| Whistler | 1997-12-09 |
| Chirpy | 1998-09-11 |
| Puffball | 1999-03-30 |
+----------+------------+

mysql> SELECT name, birth FROM pet ORDER BY birth DESC;
+----------+------------+
| name | birth |
+----------+------------+
| Puffball | 1999-03-30 |
| Chirpy | 1998-09-11 |
| Whistler | 1997-12-09 |
| Slim | 1996-04-29 |
| Claws | 1994-03-17 |
| Fluffy | 1993-02-04 |
| Fang | 1990-08-27 |
| Bowser | 1989-08-31 |
| Buffy | 1989-05-13 |
+----------+------------+

спасибо.

Последний раз редактировалось Kristofer, 22.10.2008 в 17:48.
Ответить с цитированием
  #10  
Старый 22.10.2008, 18:00
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,015
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Да, это именно указание порядка. По умолчанию ASC и его можно не писать.

всегда пожалуйста
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 12:45.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter