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

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

11.01.2009, 21:05. Показов 2149. Ответов 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
Ответ Создать тему
Новые блоги и статьи
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru