Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / Логическое выражение в SQL запросе / 5 сообщений из 5, страница 1 из 1
21.08.2003, 12:22
    #32243024
Cauchy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Логическое выражение в SQL запросе
У меня в базе данных есть логическое поле. Для вывода отчета я использую DBGrid. Так вот, когда я вывожу это поле, то в DBGrid-е получается :
0 - если "нет", -1 - если "да".
Как бы сделать, чтобы выводилось "да" или "нет".
Посылать отдельный запрос для этой строки (у меня объединение union)
не хочется.Хотелось бы делать эту подстановку прямо в запросе.
P.S. Язык C++ Builder 6, база данных Access, TADODataSet.
...
Рейтинг: 0 / 0
21.08.2003, 12:30
    #32243052
Павел Воронцов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Логическое выражение в SQL запросе
IIF(BoolFeild,"да","нет") as BoolFeild
...
Рейтинг: 0 / 0
21.08.2003, 12:34
    #32243062
JibSkeart
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Логическое выражение в SQL запросе
либо начинаете использовать 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
21.08.2003, 12:35
    #32243064
Cauchy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Логическое выражение в SQL запросе
Павел
Воронцов

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

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


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