Форум: "Начинающим";
Текущий архив: 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