-
Добрый день, Можно ли в запросе заменить названия столбцов на их описание?
Т.е. например запрос вида:
select name_org from factory - выдаст результат в виде колонки с названием "name_org".
В свойстве "description" - у данного поля стоит - "Название организации".
Возможно ли чтобы запрос выдавал результат в виде колонки под названием "Название организации".
Чтобы данное действие было универсальным, т.е. не прописывать к каждого полю алиас:
select name_org as [Название организации] from factory?
Заранее спасибо.
-
а свойство DisplayLabel у поля поменять ?
-
Просто не сделаешь, нужно хранимку писать, которая сгенерирует sql запрос и выполнит потом.
-
TDBGrid.Column.Title :)
-
> stas © (04.09.08 13:12) [2]
микроскопом гвозди...
-
Если использовать свойство TDBGrid.Column.Title то необходимо знать заранее набор полей, в моем случае набор полей не известен гриду, поэтому
заранее прописать свойства Title для всех полей нельзя
-
> необходимо знать заранее набор полей
нет, их можно указывать одновременно с прописыванием запроса
хоть в рантайме присваивать
-
greg123 (04.09.08 13:59) [5]
Не обязательно.
после открытия запроса у тебя автоматически создаются колонки в гриде, после чего ты проходишь циклом по колонкам выполняя запрос к базе и получая Description каждой колонки.
-
> [0] greg123 (04.09.08 13:09)
А что ты дальше собираешься делать с датасетом в котором поля типа "Название организации"? Только в грид выводить что-ли?
-
> Если использовать свойство TDBGrid.Column.Title то необходимо
> знать заранее набор полей, в моем случае набор полей не
> известен гриду, поэтому
Простите, а нафига он тогда в гриде нужен?
Не, ну я могу понять какой-нибудь DebugDGGrid, в котором что-то смореть по ходу дела можно, как средство отладки.
Но вообще-то - запрос по сущностям - свой грид. Его и красить надо, и фонт выставлять и т.д. и т.п. Это гораздо легче, чем у одного и того же грида в ран-тайм всё это дело менять.
-
Sergey13 © (04.09.08 14:15) [8]
да, выводить в грид
-
С незапамятных времен в SQL explorer была поддержка Dictionaries для бд.
Спецом для таких задач. А IDE редактор полей датасетов позволял тянуть метаданные словаря.
-
> [10] greg123 (04.09.08 14:19)
И все? Редактировать ничего не надо?
-
а вообще дурь конечно.
сделаем тысячу лишних телодвижений, лишь бы не менять капшены колонок.
-
И все? Редактировать ничего не надо?
Сегодня нет. К редактированию приступим через месяц, когда дескрипшены научимся прилеплять
-
Раскрасить и выставить фон можно как раз один раз и больше не менять.
Вопрос о получении описания поля у меня появился из-за того, чтобы результаты запросов к разным таблицам выводились в один грид и свойство title заполнялось именно описанием поля, а не названием.
-
Редактировать ничего не надо, запросы только на select
-
> Раскрасить и выставить фон можно как раз один раз и больше
> не менять.
Ага, щаз.
> Вопрос о получении описания поля у меня появился из-за того,
> чтобы результаты запросов к разным таблицам выводились
> в один грид и свойство title заполнялось именно описанием
> поля, а не названием.
Можешь объяснить: а нафига?
-
Возможно ли чтобы запрос выдавал результат в виде колонки под названием "Название организации".
Чтобы данное действие было универсальным, т.е. не прописывать к каждого полю алиас:
select name_org as [Название организации] from factory?
невозможно.
-
Кстати mssql специально для извращенцев поддерживает имена полей таблиц в кириллице
-
> Кстати mssql специально для извращенцев поддерживает имена
> полей таблиц в кириллице
Боже упаси такое щщастье.
-
> Вопрос о получении описания поля у меня появился из-за того,
> чтобы результаты запросов к разным таблицам выводились
> в один грид и свойство title заполнялось именно описанием
> поля, а не названием.
Можешь объяснить: а нафига?
Потому что пользователь будет выбирать к какой таблице он хочет обратиться и не очень красиво если заголовки колонок будут английскими буквами
-
Потому что пользователь будет выбирать к какой таблице он хочет обратиться и не очень красиво если заголовки колонок будут английскими буквами
Он что, еще и запрос сам будет писать ?
Или в программе будет предопределенный перечень запросов, которым установить алиасы полей никто не мешает во время разработки?
-
и не очень красиво если заголовки колонок будут английскими буквами
Очередной перец с обостренным чувством прекрасного.
Не красиво, не очень красиво, вооще не красиво .....
-
Удалено модератором
-
> Потому что пользователь будет выбирать к какой таблице он
> хочет обратиться и не очень красиво если заголовки колонок
> будут английскими буквами
Знаешь что.
Если пользователь у тебя САМ выбирает, к какой таблице подключаться, то в этом случае ему нужно предоставлять конкретную информацию по этой таблице.
И если поле в таблице называется AdmStCod, то оно и в гридк должно так выглядеть, а не "Код состояния Администратора".
-
пусть лучше умные люди опытом поделяться с начинающим
Медвежонок Пятачок © (04.09.08 14:28) [18]
Возможно ли чтобы запрос выдавал результат в виде колонки под названием "Название организации".
Чтобы данное действие было универсальным, т.е. не прописывать к каждого полю алиас:
select name_org as [Название организации] from factory?
невозможно.
<Цитата>
Невозможно
-
> Пятак ты уже все что смог придумал, пусть лучше умные люди
> опытом поделяться с начинающим
см. [18]
-
Просто я хотел, чтобы пользователь выбирал набор полей, которые он хотел бы видет в результате запроса и в этом списке видел не "AdmStCod", а "Код состояния Администратора" и соответственно в гриде колонка точно так же зазывалать.
Но я так понимаю, что это очень проблематично.
-
Ты определись чего ты хочешь на самом деле.
Хочешь ты чтобы юзер видел русское название или ты не хочешь извоекать метаданные и прописывать алиасы полям в запросе.
Это две совершенно разные хотелки
-
делаем хранимку с параметром "имя таблицы" в ней тягаем дескрипшены полей, формируем динамический sql и выполняем. либо тоже самое но на клиенте.
-
-
И будет тебе сщастье:
select admincolumn as "Код состояния Администратора" from megatable
Ну а уж сделать семантическую подмену в запросе - догадаешься как, надеюсь.
-
замое занятное начнется, когда пользователь захочет переключать интерфейс с русского на казахский, например, и наоборот - в произвольное время
а описания полей так и останутся русскими
и на кой ему такое?
-
Спасибо, то что нужно, сейчас буду разбираться
-
> замое занятное начнется, когда пользователь захочет переключать
> интерфейс с русского на казахский
Забавное начнётся раньше, когда пользователь будет получать все поля (и BLOB в том числе) на клиент через Select *. Причём даже те, которые ему нафиг не нужны.
-
Давить желающих странного
-
> Давить желающих странного
Пусть сначала вдоволь на...ся :)