С Новым годом! Форум программистов, компьютерный форум, киберфорум
C++ Builder: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/10: Рейтинг темы: голосов - 10, средняя оценка - 5.00
2 / 2 / 0
Регистрация: 11.01.2009
Сообщений: 8

Builder + MySql проблема с сортировкой

11.01.2009, 21:05. Показов 2143. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброе время суток всем
Только начинаю постигать азы "Мускула". У меня билдер 6.0 и "мускул 5.0". Возникла проблема с сортировкой. Если Необходимо произвести сортировку по числу из комбобокса то проблем не возникает.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
String qwe, rrr;
qwe = ComboBox2->Text;
rrr = ComboBox3->Text;
 
Con=mysql_init(Con);               //polzovatel parol      bd
Con=mysql_real_connect(Con,"localhost","root","stimul","stimul",0,NULL,0);
        if(!Con) ShowMessage("Can not connect.");
 
 if (Con){
 
   AnsiString query="select eskadr as 'Эскадр.', zveno as 'Звено', familiya as 'Фамилия',
 N_upr as '№ Упр.', N_pol as '№ Полета', data as 'Дата', tip_la as 'Тип ЛА', bort as 'Борт 
№', ocenka as 'Оценка', nalet as 'Налет', meteo_min as 'Метео мин.', vremya_sutok as 
'Время суток', vzlet as 'Взлет', posadka as 'Посадка' FROM `stimul`.`statika` WHERE 
eskadr = " + qwe + " AND zveno = " + rrr + ";"; 
 
     mysql_real_query(Con,query.c_str(),query.Length());
    int f=mysql_errno(Con);
    if(f==0){
      Res=mysql_store_result(Con);
...
выше приведенный код работоспособен
а вот
C++
1
2
3
4
5
6
7
8
qwe= ComboBox1->Text.Trim();
...
AnsiString query="select eskadr as 'Эскадр.', zveno as 'Звено', familiya as 'Фамилия', N_upr 
as '№ Упр.', N_pol as '№ Полета', data as 'Дата', tip_la as 'Тип ЛА', bort as 'Борт №', 
ocenka as 'Оценка', nalet as 'Налет', meteo_min as 'Метео мин.', vremya_sutok as 'Время 
суток', vzlet as 'Взлет', posadka as 'Посадка' FROM `stimul`.`statika` WHERE familiya =
" +qwe+ ";"; 
...
это не работает, но если просто подставить

C++
1
2
3
4
5
  AnsiString query="select eskadr as 'Эскадр.', zveno as 'Звено', familiya as 
'Фамилия', N_upr as '№ Упр.', N_pol as '№ Полета', data as 'Дата', tip_la as 'Тип ЛА', bort 
as 'Борт №', ocenka as 'Оценка', nalet as 'Налет', meteo_min as 'Метео мин.', 
vremya_sutok as 'Время суток', vzlet as 'Взлет', posadka as 'Посадка' FROM 
`stimul`.`statika` WHERE familiya ='Пупкин';";
то все прекрасно работает, подскажите в чем ошибка?

Вторая проблема:
Пробую сортировать по дате - сортировка не проводится
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
d1= ComboBox4->Text;
d2= ComboBox7->Text;
 
m1 = ComboBox5->Text;
m2 = ComboBox8->Text;
 
g1 = ComboBox6->Text;
g2 = ComboBox9->Text;
 
data1 = g1 + "-" + m1 + "-" + d1;
 
data2 = g2 + "-" + m2 + "-" + d2;
 
Con=mysql_init(Con);               //polzovatel parol      bd
Con=mysql_real_connect(Con,"localhost","root","stimul","stimul",0,NULL,0);
        if(!Con) ShowMessage("Can not connect.");
 
 if (Con){
 
   AnsiString query="SELECT * FROM `stimul`.`statika` WHERE data > " +data1+ " AND 
data <" +data2+ ";"; 
  
   mysql_real_query(Con,query.c_str(),query.Length());
    int f=mysql_errno(Con);
...
Отображаю в простом стринггриде, как и выше приведенный код

В виде теста пробую в MySql Develop Studio
C++
1
2
-- select * from stimul.statika where data between '2001.01.01' and '2006.01.01';
select * from stimul.statika where data >= '2001.01.01' and data <= '2006.01.01';
проблем нет, правда в студио дата отображается в виде 08.08.2005
а в стринггриде, в программе отображается в виде 2007-06-06
но при этом сортировка проходит!!!!????
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
11.01.2009, 21:05
Ответы с готовыми решениями:

Не устанавливается MySQL ODBC Driver. Как работать на C++ Builder с MySQL ?
Windows XP. Устанавливаю mysql-connector-odbc-noinstall-5.2.6-win32 Вместо обычной последовательности окошек инсталлятора - консольное...

Проблема создал проект в builder 2009 а в 2007 builder проект не открывается может кто то сталкивался?
Проблема создал проект в builder 2009 а в 2007 builder проект не открывается может кто то сталкивался? Суть проблемы у меня на компе 2009...

Builder C++ 6.0 + MySQL
Ребят, подскажите с решением. Есть задание сварганить в С++ Builder 6.0 программу для работы с MySQL. Программа должна уметь: ...

8
6 / 6 / 0
Регистрация: 12.01.2009
Сообщений: 10
20.01.2009, 20:05
Приветствую.

Чтобы не висело без ответа. Ответ был дан на другом форуме.

Чтобы все заработало, надо в запросе использовать апострофы. По примеру -

Select * from my_table where fam = '"+qwe+"';

С уважением, KerryT.
1
Почетный модератор
 Аватар для Lord_Voodoo
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
21.01.2009, 08:29
тут даже особых знаний не надо, простым сравнением можно выявить чего не хватает: в коде с подстановкой вы для строкового поля кавычки ставите WHERE familiya ='Пупкин', а если используете переменную, то почему-то без кавычек... как сказано в посте выше - вы для строкового (дата тоже такое требует) поля просто забыли кавычки...
1
2 / 2 / 0
Регистрация: 11.01.2009
Сообщений: 8
23.01.2009, 13:56  [ТС]
Доброго времени суток.
Спасибо за ответ и KerryT и WooDooMan за Ваши ответы. Ответ был дан действительно на другом форуме. Все советы помогли. Большое Вам всем спасибо за помощь, потому-что решать проблему надо было срочно и нашлись добрые люди которые откликнулись. Еще раз спасибо за ответы, будем считать что тема закрыта.
С Уважением Виталий.
0
 Аватар для GalaX
701 / 573 / 59
Регистрация: 18.11.2008
Сообщений: 2,147
23.01.2009, 22:02
Цитата Сообщение от _Vitaliy_ Посмотреть сообщение
tip_la as 'Тип ЛА'
разве так можно?! да еще и с пробелами...
или в билдере это позволительно?
0
Почетный модератор
 Аватар для Lord_Voodoo
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
23.01.2009, 23:43
GаlаX, а причем тут билдер, тут лишь бы база данных такое понимала, хотя я бы поля в запросе кирилицей не называл
0
 Аватар для GalaX
701 / 573 / 59
Регистрация: 18.11.2008
Сообщений: 2,147
24.01.2009, 05:47
tip_la as 'Тип ЛА'
дык в этой строке получается что "Тип ЛА" будет являться псевдонимом поля tip_la в результате запроса, т.е. в таблице названия полей нормально латиницей написаны, а результаты возвращаются в виде ассоциативного массива с именами элементов в виде кирилицы, поэтому получается что от базы это уже независит..... или может я неправильно думаю...
0
2 / 2 / 0
Регистрация: 11.01.2009
Сообщений: 8
24.01.2009, 10:34  [ТС]
Доброго времени суток.
Наверное и Вы GаlаX и Вы WooDooMan правы. Не буду углубляться в дебри мануалов, просто as 'Тип ЛА' это всего лишь отображение в заданном компоненте в конкретном запросе поля, в данном случае это tip_la. В моем случае это просто стринггрид и все прекрасно работает но при этом в запросе участвует именно tip_la и никаких проблем.
С уважением Виталий.
0
Почетный модератор
 Аватар для Lord_Voodoo
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
24.01.2009, 11:31
GаlаX, ну а в аксессе вы же можете писать русские названия полей, а потом же к этой базе можно как-то коннектиться через адо, например... я не сказал, что так делать надо, и даже уверен, что подводные камни в таком коде когда-то вылезут, но билдеру с точки зрения синтаксиса это без разницы...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
24.01.2009, 11:31
Помогаю со студенческими работами здесь

C++ Builder + MySQL
Я хочу написать на С + + Builder программу с мускулом. Полазившы по сайтам и прочитав литературы я не нашел ничего кроме видиоурока: Delphi...

C++ builder 6 проблема с delete
решил попробывать новый c++builder 6 в простенькой программе, на операторе delete прога ругается, access violation at address XXXXX....

Проблема с компонентами в C++ Builder
Народ помогите, пожалуйста. При попытки открыть исходник программы базы данных (прога рабочая, компилировалась на другом ПК) выдаются...

C++ Builder, mySQL и транзакции
Добрый день! Подскажите неопытному... Есть база на mySQL. Есть приложение на C++ Builder. Подключаюсь к базе через...

C++Builder 2009 и MySQL
Как подключиться к MySQL из C++Builder 2009


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru