Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2019.03.03;
Скачать: CL | DM;

Вниз

БД Integer->String   Найти похожие ветки 

 
валя ©   (2016-10-28 12:09) [0]

в бд mysql есть таблица с полем Integer, которое отображает некоторое состояние записи.

Как можно уже на клиенте преобразовывать поле для  более иформативного отображения, те в DBGrid не 1,2,3, а например:
1->красный
2->синий
3->белый.

Компоненты доступа к БД Zeoz


 
Игорь Шевченко ©   (2016-10-28 12:13) [1]

TField.OnGetText


 
stas ©   (2016-10-28 12:46) [2]

На сервере создать таблицу с полями id|text, и заполнить id=1, text = красный и т.д.
потом на клиенте либо lookup либо сразу запрос на сервере написать.


 
iop ©   (2016-10-28 13:57) [3]

банальный же

case fld
when 1 then "красный"
when 2 then "синий"
...
else "бесцветный"
end as fld_color


 
валя ©   (2016-10-28 15:17) [4]


> stas ©   (28.10.16 12:46) [2]


> iop ©   (28.10.16 13:57) [3]


Ответ уже дали в [1]


 
stas ©   (2016-10-28 15:20) [5]

валя ©   (28.10.16 15:17) [4]

А если завтра добавиться малиновый что покажет программа ?


 
валя ©   (2016-10-28 16:22) [6]


> А если завтра добавиться малиновый что покажет программа
> ?

Это если, но этого если не будет.


 
sniknik ©   (2016-10-28 18:36) [7]

case в запросе предпочтительней, ИМХО, при подмене в OnGetText, неправильно/неудобно работать с данными на клиенте - неправильная сортировка по полю, выгрузка в ексель рекордсетом не видит "подменки", и т.д.
а еще лучше справочная таблица по номерам -цветам, и запрос с join-ом.

НО, и то и то не на клиенте, а на сервере, т.что по вопросу - оффтопик.


 
Германн ©   (2016-10-29 01:15) [8]


> sniknik ©   (28.10.16 18:36) [7]
>
> при подмене в OnGetText,
>  неправильно/неудобно работать с данными на клиенте - неправильная
> сортировка по полю

Ты уверен в этом? Это же только смена визуального отображения значения поля.


 
sniknik ©   (2016-10-30 19:45) [9]

> Ты уверен в этом? Это же только смена визуального отображения значения поля.
абсолютно, именно из-за того что "это же только смена визуального" и происходит "разрыв шаблона", тот же sort по полю будет как в вопросе по внутренним данным (1, 2, 3), а видеть по идее должны -
3->белый
1->красный
2->синий
или фильтр по вхождению в строку, а в основе число и как? да здравствует велосипедо строение? и так со всем, что оперирует внутренними данными.


 
Игорь Шевченко ©   (2016-10-30 23:25) [10]

sniknik ©   (30.10.16 19:45) [9]

Ты на минуту представь, что нет нужды сортировать и фильтровать по таким полям. Некоторым и в Excel не надо выгружать, вот же.
Зачем делать сложно то, что проще простого ?


 
iop ©   (2016-10-30 23:56) [11]

кейс лаконичнее геттекста


 
Германн ©   (2016-10-31 01:01) [12]


> sniknik ©   (30.10.16 19:45) [9]

Ну короче. Оптимальное решение зависит от конкретного случая. В каких-то случаях сase в запросе будет лучше (если движок БД это позволяет).
В каких-то дополнительная таблица типа stas ©   (28.10.16 12:46) [2]
А в каких-то и OnGetText.
И не вижу причин для дальнейшего спора, пока ТС не уточнит именно задачу.


 
sniknik ©   (2016-10-31 09:56) [13]

> Зачем делать сложно то, что проще простого ?
опять ИМХО, которого некоторые не понимают, но если рассматривать с точки зрения простоты то рулит сase... если конечно количество замен не какое то запредельное, после опять таблица значений (при большом количестве знамен проще наоборот таблица), и только после геттекст... т.к. тут нужен код с дополнительной обработкой, + массив значений для замен, и все самому. а в запросе просто написал список и все.

и опять таки все оффтопик т.к. в вопросе было про замены на клиенте.

> не вижу причин для дальнейшего спора
о, так ты споришь? а я вот ответил сначала ТС, высказал свое мнение, после тебе...


 
Германн ©   (2016-11-01 00:36) [14]

Как раз не спорю и не хочу спорить без точной формулировки ТЗ.


 
ухты_   (2016-11-01 01:22) [15]

кейс плох если надо локализировать данные, в итоге все равно упрешься в таблицу или в клиента (если типа сортировки не нужно)



Страницы: 1 вся ветка

Текущий архив: 2019.03.03;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.005 c
15-1476794335
MsGuns
2016-10-18 15:38
2019.03.03
Метаморфозы в живописи


15-1476987400
Jeer
2016-10-20 21:16
2019.03.03
Deep


2-1477998615
Raisa
2016-11-01 14:10
2019.03.03
Имя к исполняемому файлу в потоке


1-1360604145
@!!ex
2013-02-11 21:35
2019.03.03
Delphi XE 3 и 64 битная компиляция


2-1477645793
валя
2016-10-28 12:09
2019.03.03
БД Integer->String