Форум программистов, компьютерный форум, киберфорум
C++ Builder: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.54/13: Рейтинг темы: голосов - 13, средняя оценка - 4.54
0 / 0 / 0
Регистрация: 15.11.2009
Сообщений: 46

Сортировка данных

15.11.2011, 00:21. Показов 2500. Ответов 17
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет!
Помогите пожалуйста! Мне нужно сделать сортировку данных в столбце Название по алфавиту в базе данных совместно с поиском или до поиска,главное чтоб он сортировал по алфавиту.
Вот поиск:

C++
1
2
3
4
5
6
7
8
9
10
11
12
void __fastcall TForm1::Button1Click(TObject *Sender)
{
    Edit1->SetFocus();
    Query1->SQL->Text = "SELECT * FROM mag WHERE Название LIKE '%" +Edit1->Text +"%'";
    Query1->Open();
    //ShowMessage(Query1->RecordCount);
    if ( Query1->RecordCount != 0)
       DataSource1->DataSet = Query1;
         else {
    ShowMessage ("В базе названий нет запрашиваемой информации: " +Edit1->Text);
    DataSource1->DataSet = Table1;  }
       }
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
15.11.2011, 00:21
Ответы с готовыми решениями:

СОртировка данных
Поискал много форумов и тем так и не разобрался. Пишу на борланде всего дня 3. Хочу чтобы при открытии окна "diyf" происходила...

EhLib и сортировка данных
Добрый день, форумчане. Разбираюсь с сортировкой данных. У меня стоят компоненты TADODataSet + EhLib. В DBGridEh стоят значения...

Сортировка данных по 2 полям
Как отсортировать данные в таблице по двум полям?

17
4217 / 3059 / 583
Регистрация: 21.01.2011
Сообщений: 13,203
15.11.2011, 09:18
ну так чем ORDER BY не устраивает?
1
0 / 0 / 0
Регистрация: 15.11.2009
Сообщений: 46
15.11.2011, 09:43  [ТС]
Ну а как его использовать? Куда ее поставить?
0
4217 / 3059 / 583
Регистрация: 21.01.2011
Сообщений: 13,203
15.11.2011, 09:51
Цитата Сообщение от ромыч
Ну а как его использовать? Куда ее поставить?
Если ты собираешься работать с БД, то сначала освой их, в частности, язык SQL, а потом уже хватайся работать с БД через С.
SQL
1
2
3
4
SELECT *
FROM ...
WHERE ...
ORDER BY fld1 [ DESC ]
1
0 / 0 / 0
Регистрация: 15.11.2009
Сообщений: 46
15.11.2011, 09:58  [ТС]
Я это знаю,что так можно использовать ORDER BY. Но у меня не получается его использовать в своем коде..пробовал писать его после WHERE выдает ошибку...Может покажешь просто как его в моем коде правильно использовать??
0
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
15.11.2011, 10:17
C++
1
Query1->SQL->Text = "SELECT * FROM mag WHERE Название LIKE '" +Edit1->Text +"%' ORDER BY mag";
1
0 / 0 / 0
Регистрация: 15.11.2009
Сообщений: 46
15.11.2011, 16:59  [ТС]
Выдает ошибку к сожалению,когда нажимаю на баттон...почему интересно?
0
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
15.11.2011, 17:26
Выложи код как у тебя на писано написано
1
0 / 0 / 0
Регистрация: 15.11.2009
Сообщений: 46
15.11.2011, 18:29  [ТС]
Вот код:

void __fastcall TForm1::Button1Click(TObject *Sender)
{
Edit1->SetFocus();
Query1->SQL->Text = "SELECT * FROM mag WHERE Название LIKE '" +Edit1->Text +"%' ORDER BY mag";
Query1->Open();
//ShowMessage(Query1->RecordCount);
if ( Query1->RecordCount != 0)
DataSource1->DataSet = Query1;
else {
ShowMessage ("В базе названий нет запрашиваемой информации: " +Edit1->Text);
DataSource1->DataSet = Table1; }
}
0
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
15.11.2011, 18:46
Цитата Сообщение от ромыч Посмотреть сообщение
Выдает ошибку к сожалению,когда нажимаю на баттон...почему интересно?
Какая ошибка?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
void __fastcall TForm1::Button1Click(TObject *Sender)
{
 Query1->Close();
 Query1->SQL->Clear();
 Query1->SQL->Text = "SELECT * FROM mag WHERE Название LIKE '" +Edit1->Text +"%' ORDER BY mag";
 Query1->Open();
 if ( Query1->RecordCount != 0)
 {
  DataSource1->DataSet = Query1;
 }
 else 
 {
   ShowMessage ("В базе названий нет запрашиваемой информации: " +Edit1->Text);
   DataSource1->DataSet = Table1;
 }
 Edit1->SetFocus();
}
1
0 / 0 / 0
Регистрация: 15.11.2009
Сообщений: 46
15.11.2011, 19:49  [ТС]
Спасибо большое! А можешь помочь пож,как можно сделать поиск не чувствительным к регистру букв??

Добавлено через 36 минут
Цитата Сообщение от ромыч Посмотреть сообщение
Спасибо большое! А можешь помочь пож,как можно сделать поиск не чувствительным к регистру букв??
Просто в базе есть имена с больших и малых букв,просто надо находить всех при введении какой-либо буквы...
0
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
15.11.2011, 19:55
Цитата Сообщение от ромыч Посмотреть сообщение
Просто в базе есть имена с больших и малых букв,просто надо находить всех при введении какой-либо буквы...
Как вариант могу тебе предложить воспользоваться функциями

http://www.ageent.ru/sql-lcase.html
http://www.ageent.ru/sql-ucase.html
1
0 / 0 / 0
Регистрация: 15.11.2009
Сообщений: 46
15.11.2011, 19:59  [ТС]
Я пытался использовать UPPER,но почему то не прошло...
0
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
15.11.2011, 20:01
Хотя я использую технологию ADO, только что проверил через Like, то я могу сказать, что хоть маленькие буквы вводишь хоть большие разницы ни какой находит всё что надо
1
0 / 0 / 0
Регистрация: 15.11.2009
Сообщений: 46
15.11.2011, 20:12  [ТС]
Вот именно я хотел через sql сделать поиск..
0
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
15.11.2011, 20:34
like был чувствителен к регистру

Добавлено через 1 минуту
Вот нашёл может поможет

Управление чувствительностью к регистру при поиске по образцу
Задача
Поиск по образцу чувствителен к регистру в тех случаях, когда вы этого не хотите, или наоборот.

Решение
Измените чувствительность строк к регистру.

Обсуждение
По умолчанию операция LIKE не чувствительна к регистру:

SELECT name, name LIKE '%i%', name LIKE '%I%' FROM metal;

Переделай под свою базу
1
0 / 0 / 0
Регистрация: 15.11.2009
Сообщений: 46
15.11.2011, 21:18  [ТС]
А с Table как можно сделать поиск??
0
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
16.11.2011, 10:38
Цитата Сообщение от ромыч Посмотреть сообщение
А с Table как можно сделать поиск??
Можешь для поиска строки использовать Locate(), вот там можно сделать поиск строки без учёта регистра
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
16.11.2011, 10:38
Помогаю со студенческими работами здесь

Сортировка данных из двух таблиц
Есть 2 таблицы, связанные в Access по ID (Код_вещества). Для отображения в первой вместо ID названия вещества добавил в ADOTable новое...

Фильтрация и сортировка по числам в базе данных C++
Всем привет! Столкнулся с такой проблемой в базе данных как фильтрация и сортировка, с буквами работает и фильтрпция и сортировка, а вот с...

Сортировка данных более чем по одному параметру
Доброго времени суток!По скольку новый вопрос, по правилам, создаю новую тему. Помогите решить следующую проблему. Готова прога с...

Сортировка данных
Ребята помогите, мне нужно сделать сортировку данных. И сортировку по дате. Помогите пожалуйста буду очень вам благодарна.

Сортировка данных в StringGrid
Суть задачи. Дана матрица, расположенная в к. StringGrid. Отсортировать его следующим образом: Характеристика строки - сумма ее четных...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
Новые блоги и статьи
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru