Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.06.2017, 18:49   #1
Kadora
 
Регистрация: 03.06.2017
Сообщений: 3
По умолчанию Сортировка записей в таблице с помощью ComboBox

Здравствуйте. Подскажите, пожалуйста, как сделать сортировку по алфавиту с помощью компонента ComboBox, чтобы бы я выбирала критерий сортировки(столбцы таблицы) из него. Используются: DBGrid, ADOQuery, ADOConnection, DataSourse.
Kadora вне форума Ответить с цитированием
Старый 03.06.2017, 20:47   #2
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

В адоквери к запросу дописывать ORDER BY <выбранный в комбо столбец>

А если дописывать ещё и ASC / DESC, то можно сортировать по возрастанию и убыванию соответственно
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Старый 03.06.2017, 21:37   #3
Kadora
 
Регистрация: 03.06.2017
Сообщений: 3
По умолчанию

Цитата:
Сообщение от Sciv Посмотреть сообщение
В адоквери к запросу дописывать ORDER BY <выбранный в комбо столбец>

А если дописывать ещё и ASC / DESC, то можно сортировать по возрастанию и убыванию соответственно
А можно пример кода?
Kadora вне форума Ответить с цитированием
Старый 03.06.2017, 21:42   #4
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Код:
SELECT 
   T.ID, 
   T.NAME, 
   T.DATE 
FROM
   TABLE1 AS T
WHERE
   ID IN (1, 2, 3)
ORDER BY
   ID, NAME
А если вместе с квери, то так:

Код:
Query1.Close;
Query1.SQL.Text := 'SELECT ID, NAME, DATE FROM TABLE1 WHERE NAME=:NAME ORDER BY NAME';
Query1.ParamByName('NAME').Value := ComboBox1.Text;
Query1.Open;
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...

Последний раз редактировалось Sciv; 03.06.2017 в 21:46.
Sciv вне форума Ответить с цитированием
Старый 03.06.2017, 21:53   #5
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Если у Вас в комбике имена столбцов в том виде, в каком они в базе названы, то так можно сделать:

Код:
Query1.Close;
Query1.SQL.Text := 'SELECT ID, NAME, DATE FROM TABLE1 ORDER BY ' + ComboBox1.Text;
Query1.Open;
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Старый 03.06.2017, 22:30   #6
Kadora
 
Регистрация: 03.06.2017
Сообщений: 3
По умолчанию

Цитата:
Сообщение от Sciv Посмотреть сообщение
Если у Вас в комбике имена столбцов в том виде, в каком они в базе названы, то так можно сделать:

Код:
Query1.Close;
Query1.SQL.Text := 'SELECT ID, NAME, DATE FROM TABLE1 ORDER BY ' + ComboBox1.Text;
Query1.Open;
Большое Вам спасибо
Kadora вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

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

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поиск записей в таблице StudUL C++ Builder 8 16.05.2012 17:59
Обновление записей в таблице ua3pno Microsoft Office Access 4 20.02.2011 19:56
Количество записей в таблице Марк Охман БД в Delphi 2 27.09.2010 14:07
Счетчик записей в таблице John_chek Общие вопросы Delphi 2 01.03.2007 11:36