Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2019.03.03;
Скачать: [xml.tar.bz2];

Вниз

БД 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.001 c
2-1478017589
Max
2016-11-01 19:26
2019.03.03
Помогите переписать одну строку на Delphi


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


15-1476794335
MsGuns
2016-10-18 15:38
2019.03.03
Метаморфозы в живописи


8-1212737827
Феликс
2008-06-06 11:37
2019.03.03
WMF, полилинии "грубеют"


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





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский