Форум программистов, компьютерный форум, киберфорум
Delphi: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
2 / 2 / 0
Регистрация: 07.08.2015
Сообщений: 428

Delphi запрос count() в DBGrid

20.04.2023, 06:30. Показов 1679. Ответов 25
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Мир всем и доброе утро
скажите пожалуйста почему в Гриде не показывается столбец запроса Count(), но с помощью sql Editor-a показывает ?:
запрос через Делфи:
Delphi
1
2
3
4
5
6
7
8
9
if combo3.ItemIndex=0 then
Dm.fdjustuju.IndexFieldNames:='';
dm.fdhisobot.SQL.Clear;
Dm.fdhisobot.SQL.Add('select nom,faculta,count(nommakol) As summa FROM muallim');
Dm.fdhisobot.SQL.Add('left JOIN public."Makol" ON muallim.user_id= public."Makol".graf');
Dm.fdhisobot.SQL.Add('GROUP BY nom, faculta order by nom');
dm.fdConnect.Connected:=true;
Dm.FDmuallim.Active:=true;
dm.fdhisobot.Active:=true;
Миниатюры
Delphi запрос count() в DBGrid   Delphi запрос count() в DBGrid  
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
20.04.2023, 06:30
Ответы с готовыми решениями:

Delphi sql-запрос и DBGrid
Здравствуйте, прошу вашей помощи. Есть DBGrid куда выводится запрос DataModule2.ADOQuery2.Close; DataModule2.ADOQuery2.sql.Clear; ...

Delphi. SQL запрос ADOQuery. Выборка из Dbgrid в разных формах
помогите! не понимаю как сделать то что задумала. Есть таблица Курс (код, курс) и предметы(код, КодСтудента, кодДисциплины, кодСеместра,...

Запрос AdoQuery, соединение с таблицами в разных формах. Delphi. DBGrid
Здравствуйте, помогите пожалуйста! В общем нужно чтоб при выборе определенного (курса)из грида, а после нажатии "выбрать",...

25
2 / 2 / 0
Регистрация: 07.08.2015
Сообщений: 428
23.04.2023, 15:51  [ТС]
Студворк — интернет-сервис помощи студентам
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
if (combosol.ItemIndex=0)  and (combofac.ItemIndex=6)then
begin
sol2.Text:=inttostr(YearOf(Date)-1);
dm.fdhisobot.SQL.Clear;
Dm.fdhisobot.SQL.Add('select nom,faculta, count(nommakol) As summ FROM muallim');
Dm.fdhisobot.SQL.Add('left JOIN public."Makol" ON muallim.user_id= public."Makol".graf');
Dm.fdhisobot.SQL.Add('WHERE faculta=:param3 and solnashr between :param1 AND :param2');
Dm.fdhisobot.SQL.Add('GROUP BY nom, faculta order by nom');
Dm.fdhisobot.Params.ParamByName('param2').AsInteger:=YearOf(Date);
Dm.fdhisobot.Params.ParamByName('param1').AsInteger:=strtoint(sol2.text);
Dm.fdhisobot.Params.ParamValues['param3']:=QuotedStr(combofac.Items[combofac.ItemIndex]);
dm.fdhisobot.Active:=true;
dm.fdmuallim.Active:=true;
end;
я пробовал несколько вариантов но без результатов

Добавлено через 3 минуты
Цитата Сообщение от D1973 Посмотреть сообщение
А, кстати, WHERE - не запрос, это лишь одна из инструкций запроса
просто я не показал вес код sql
0
Модератор
 Аватар для D1973
9954 / 6489 / 2461
Регистрация: 21.01.2014
Сообщений: 27,488
Записей в блоге: 3
23.04.2023, 16:55
1. Какого типа поле solnashr?
2. Dm.fdhisobot.Params.ParamByName('param3' ).Value := QuotedStr(combofac.Items[combofac.ItemIndex]);
0
2 / 2 / 0
Регистрация: 07.08.2015
Сообщений: 428
23.04.2023, 17:42  [ТС]
Цитата Сообщение от D1973 Посмотреть сообщение
Dm.fdhisobot.Params.ParamValues['param3'].Value := QuotedStr(combofac.Items[combofac.ItemIndex]);
тут и без Value можно но все равно не работает только можно добавит
Delphi
1
ParamByName('param3')
чтобы сработал без ошибки !
ещё несколько способов применил не хочет работать
а solnashr это numeric

Цитата Сообщение от Firuz Посмотреть сообщение
Dm.fdhisobot.SQL.Add('WHERE faculta=''Математика и информатика'' and solnashr between :param1 AND :param2');
только так работает почему-то (

Добавлено через 37 минут
ладно буду написать отдельно
0
Модератор
 Аватар для D1973
9954 / 6489 / 2461
Регистрация: 21.01.2014
Сообщений: 27,488
Записей в блоге: 3
23.04.2023, 19:36
Цитата Сообщение от Firuz Посмотреть сообщение
только так работает почему-то
Так у Вас там двойные кавычки... Тогда так попробуйте:
Delphi
1
Dm.fdhisobot.Params.ParamByName('param3').AsString := Format('"%s"', [combofac.Items[combofac.ItemIndex]]);
а вообще, как по мне, каждое условие лучше скобками выделить:
Delphi
1
Dm.fdhisobot.SQL.Add('WHERE (faculta=:param3) and (solnashr between :param1 AND :param2)');
0
2 / 2 / 0
Регистрация: 07.08.2015
Сообщений: 428
23.04.2023, 20:20  [ТС]
неа не работает таблица открывается но то что внутри комбобокса не передается в запросе. ну не чего спасибо за внимание и помощи сделаю по старому
0
2 / 2 / 0
Регистрация: 07.08.2015
Сообщений: 428
24.04.2023, 09:52  [ТС]
сделал так работает может когда нибудь пригодится кому то

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
uniEdit2.Text := Combofac.Text;
if (combosol.ItemIndex=0) and (combofac.Text=uniedit2.text) then
begin
sol2.Text:=inttostr(YearOf(Date)-1);
dm.fdhisobot.SQL.Clear;
Dm.fdhisobot.SQL.Add('select nom,faculta, count(nommakol) As summ FROM muallim');
Dm.fdhisobot.SQL.Add('left JOIN public."Makol" ON muallim.user_id= public."Makol".graf');
Dm.fdhisobot.SQL.Add('WHERE faculta='''+uniedit2.text+''' and solnashr between :param1 AND :param2');
Dm.fdhisobot.SQL.Add('GROUP BY nom, faculta order by nom');
Dm.fdhisobot.Params.ParamByName('param2').AsInteger:=YearOf(Date);
Dm.fdhisobot.Params.ParamByName('param1').AsInteger:=strtoint(sol2.text);
dm.fdhisobot.Active:=true;
dm.fdmuallim.Active:=true;
end;
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
24.04.2023, 09:52

Delphi XE4 SQL запрос. Добавление записи в последнюю позицию DBGrid
Еще раз всем привет! Возникла вот такая загогулина. Есть поле Edit, в котором есть данные. Эти данные надо перенести в таблицу. Но не...

Когда DBGrid.Columns.Count получает свое реальное значение?
Здравствуйте форумчане. Подскажите пожалуйста когда DBGrid.Columns.Count получает свое реальное значение, а именно: После выполнения...

count в delphi
как перевести с pascal в delphi данную строчку count:=count+count;

Нюансы синтаксиса: statement for - как понимать запись for (count=0, mask=1; count != 16; count++, mask<<= 1)?
Много всяких языков попадалось, относительно много конечно, но такое вижу первый раз, что бы тело FOR имело не 3 оператора - начальный,...

Запрос с count
Уважаемые друзья, помогите с запросом, есть основная таблица, к ней один ко многим связаны еще две таблицы, пытаюсь написать выборку что бы...


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

Или воспользуйтесь поиском по форуму:
26
Ответ Создать тему
Новые блоги и статьи
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ Основная суть и тезисы по измерениям: 0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема. Объект не может перемещаться в 0D. 1D (Первое измерение):. . .
[EasyBuilder Pro] Памятка по разработке для панелей Weintek
ФедосеевПавел 26.08.2026
Памятка по разработке для панелей Weintek ВВЕДЕНИЕ Ранее, при реализации проектов основное внимание уделял разработке управляющей программы для контроллера, а панели оператора доставалось время. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru