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

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

11.01.2009, 21:05. Показов 2168. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru