powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Логическое выражение в SQL запросе
5 сообщений из 5, страница 1 из 1
Логическое выражение в SQL запросе
    #32243024
Фотография Cauchy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня в базе данных есть логическое поле. Для вывода отчета я использую DBGrid. Так вот, когда я вывожу это поле, то в DBGrid-е получается :
0 - если "нет", -1 - если "да".
Как бы сделать, чтобы выводилось "да" или "нет".
Посылать отдельный запрос для этой строки (у меня объединение union)
не хочется.Хотелось бы делать эту подстановку прямо в запросе.
P.S. Язык C++ Builder 6, база данных Access, TADODataSet.
...
Рейтинг: 0 / 0
Логическое выражение в SQL запросе
    #32243052
Фотография Павел Воронцов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IIF(BoolFeild,"да","нет") as BoolFeild
...
Рейтинг: 0 / 0
Логическое выражение в SQL запросе
    #32243062
Фотография JibSkeart
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
либо начинаете использовать DBGridEh из компонент EhLib

либо на событие

OnDrawColumnCell()

ну допустим так

void __fastcall DBGrid1DrawColumnCell(...)

{
DBGrid1->DefaultDrawColumnCell(Rect,DataCol,Column,State);

if (Column->FieldName == "my_field")
{
if (DBgrid1->DataSourse->DataSet->FieldByname("my_field")->AsInteger == 1)
{
DBgrid1->Canvas->TextOut(Rect.Left +2 ,Rect.Top+3,"Yes");
}
else
{
DBgrid1->Canvas->TextOut(Rect.Left +2 ,Rect.Top+3,"no");
}
}
}
...
Рейтинг: 0 / 0
Логическое выражение в SQL запросе
    #32243064
Фотография Cauchy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Павел
Воронцов

Огроменное спасибо!
Все получилось.
...
Рейтинг: 0 / 0
Логическое выражение в SQL запросе
    #32243182
Фотография Zmeishe
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Посмотри в FieldEditor события этого поля OnGetText и OnSetText так рациональнее.

DBGrid1DrawColumnCell(...) тоже нормально, но если это поле выводишь в разные DBGrid, то DBGrid1DrawColumnCell(...) надо обрабатывать в каждом DBGrid, а OnGetText один раз на всё приложение.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Логическое выражение в SQL запросе
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]