Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.08.2011, 13:24   #1
mental
Пользователь
 
Регистрация: 07.01.2009
Сообщений: 36
По умолчанию boolean

Ситуация такая: В одном из полей БД Sql Server с типом данных boolean хранятся значения true, false NULL. Когда вывожу всё это дело в делфи через DBGrid, то соответственно также отображается true, false, Null. Можно ли как-то преобразовывать вывод этих значений в dbgrid и заместо true, false, NULL выводить значения Да, Нет.
mental вне форума Ответить с цитированием
Старый 09.08.2011, 14:26   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Вычисляемое поле в запросе или DataSet, также можно попробовать lookup field и Column.PickList
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 09.08.2011, 15:15   #3
mental
Пользователь
 
Регистрация: 07.01.2009
Сообщений: 36
По умолчанию

Можно ли примерчик как преобразовать значение через вычисляемое поле?
mental вне форума Ответить с цитированием
Старый 09.08.2011, 15:31   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

в таких случаях, обычно, удобно использвать в запросе case

например, пишите так в запросе:
Код:
select
  <..нужные поля...>,
  case when pole1 = True then 'Истинная Правда'
    when pole1 = False then 'Противная Ложь'
    when pole1 is null then 'отсутствие смысла' end As YourBoolDemoText
from ...
Serge_Bliznykov вне форума Ответить с цитированием
Старый 10.08.2011, 00:41   #5
astecenko
Homo Interneticus
Форумчанин
 
Аватар для astecenko
 
Регистрация: 04.03.2011
Сообщений: 611
По умолчанию

Как вариант можно использовать событие GetCellParams столбца DBGrid
Код:
procedure Torm1.dbgrid1Columns1GetCellParams(Sender: TObject;
  EditMode: Boolean; Params: TColCellParamsEh);
begin
  if Params.Text = 'True' then
    Params.Text := 'Да'
  else if Params.Text = 'False' then
    Params.Text := 'Нет'
  else Params.Text := ' '
astecenko вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Boolean AlinKoy Паскаль, Turbo Pascal, PascalABC.NET 1 02.05.2011 14:49
BOOLEAN Thandem Помощь студентам 12 26.09.2010 08:12
Boolean korzunmaria Помощь студентам 1 19.05.2010 21:19
Boolean Air Общие вопросы Delphi 2 16.02.2008 17:15
Boolean... ZhekON Общие вопросы Delphi 2 17.06.2007 00:39