Текущий архив: 2009.05.10;
Скачать: CL | DM;
Вниз
Можно ли в запросе заменить названия столбцов на их описание? Найти похожие ветки
← →
greg123 (2008-09-04 13:09) [0]Добрый день, Можно ли в запросе заменить названия столбцов на их описание?
Т.е. например запрос вида:
select name_org from factory - выдаст результат в виде колонки с названием "name_org".
В свойстве "description" - у данного поля стоит - "Название организации".
Возможно ли чтобы запрос выдавал результат в виде колонки под названием "Название организации".
Чтобы данное действие было универсальным, т.е. не прописывать к каждого полю алиас:
select name_org as [Название организации] from factory?
Заранее спасибо.
← →
Игорь Шевченко © (2008-09-04 13:10) [1]а свойство DisplayLabel у поля поменять ?
← →
stas © (2008-09-04 13:12) [2]Просто не сделаешь, нужно хранимку писать, которая сгенерирует sql запрос и выполнит потом.
← →
Ega23 © (2008-09-04 13:16) [3]TDBGrid.Column.Title :)
← →
Правильный$Вася (2008-09-04 13:19) [4]
> stas © (04.09.08 13:12) [2]
микроскопом гвозди...
← →
greg123 (2008-09-04 13:59) [5]Если использовать свойство TDBGrid.Column.Title то необходимо знать заранее набор полей, в моем случае набор полей не известен гриду, поэтому
заранее прописать свойства Title для всех полей нельзя
← →
Правильный$Вася (2008-09-04 14:07) [6]
> необходимо знать заранее набор полей
нет, их можно указывать одновременно с прописыванием запроса
хоть в рантайме присваивать
← →
stas © (2008-09-04 14:09) [7]greg123 (04.09.08 13:59) [5]
Не обязательно.
после открытия запроса у тебя автоматически создаются колонки в гриде, после чего ты проходишь циклом по колонкам выполняя запрос к базе и получая Description каждой колонки.
← →
Sergey13 © (2008-09-04 14:15) [8]> [0] greg123 (04.09.08 13:09)
А что ты дальше собираешься делать с датасетом в котором поля типа "Название организации"? Только в грид выводить что-ли?
← →
Ega23 © (2008-09-04 14:18) [9]
> Если использовать свойство TDBGrid.Column.Title то необходимо
> знать заранее набор полей, в моем случае набор полей не
> известен гриду, поэтому
Простите, а нафига он тогда в гриде нужен?
Не, ну я могу понять какой-нибудь DebugDGGrid, в котором что-то смореть по ходу дела можно, как средство отладки.
Но вообще-то - запрос по сущностям - свой грид. Его и красить надо, и фонт выставлять и т.д. и т.п. Это гораздо легче, чем у одного и того же грида в ран-тайм всё это дело менять.
← →
greg123 (2008-09-04 14:19) [10]Sergey13 © (04.09.08 14:15) [8]
да, выводить в грид
← →
Медвежонок Пятачок © (2008-09-04 14:20) [11]С незапамятных времен в SQL explorer была поддержка Dictionaries для бд.
Спецом для таких задач. А IDE редактор полей датасетов позволял тянуть метаданные словаря.
← →
Sergey13 © (2008-09-04 14:21) [12]> [10] greg123 (04.09.08 14:19)
И все? Редактировать ничего не надо?
← →
Медвежонок Пятачок © (2008-09-04 14:22) [13]а вообще дурь конечно.
сделаем тысячу лишних телодвижений, лишь бы не менять капшены колонок.
← →
Медвежонок Пятачок © (2008-09-04 14:23) [14]И все? Редактировать ничего не надо?
Сегодня нет. К редактированию приступим через месяц, когда дескрипшены научимся прилеплять
← →
greg123 (2008-09-04 14:23) [15]Раскрасить и выставить фон можно как раз один раз и больше не менять.
Вопрос о получении описания поля у меня появился из-за того, чтобы результаты запросов к разным таблицам выводились в один грид и свойство title заполнялось именно описанием поля, а не названием.
← →
greg123 (2008-09-04 14:25) [16]Редактировать ничего не надо, запросы только на select
← →
Ega23 © (2008-09-04 14:27) [17]
> Раскрасить и выставить фон можно как раз один раз и больше
> не менять.
Ага, щаз.
> Вопрос о получении описания поля у меня появился из-за того,
> чтобы результаты запросов к разным таблицам выводились
> в один грид и свойство title заполнялось именно описанием
> поля, а не названием.
Можешь объяснить: а нафига?
← →
Медвежонок Пятачок © (2008-09-04 14:28) [18]Возможно ли чтобы запрос выдавал результат в виде колонки под названием "Название организации".
Чтобы данное действие было универсальным, т.е. не прописывать к каждого полю алиас:
select name_org as [Название организации] from factory?
невозможно.
← →
Медвежонок Пятачок © (2008-09-04 14:30) [19]Кстати mssql специально для извращенцев поддерживает имена полей таблиц в кириллице
← →
Ega23 © (2008-09-04 14:32) [20]
> Кстати mssql специально для извращенцев поддерживает имена
> полей таблиц в кириллице
Боже упаси такое щщастье.
← →
greg123 (2008-09-04 14:39) [21]> Вопрос о получении описания поля у меня появился из-за того,
> чтобы результаты запросов к разным таблицам выводились
> в один грид и свойство title заполнялось именно описанием
> поля, а не названием.
Можешь объяснить: а нафига?
Потому что пользователь будет выбирать к какой таблице он хочет обратиться и не очень красиво если заголовки колонок будут английскими буквами
← →
Медвежонок Пятачок © (2008-09-04 14:41) [22]Потому что пользователь будет выбирать к какой таблице он хочет обратиться и не очень красиво если заголовки колонок будут английскими буквами
Он что, еще и запрос сам будет писать ?
Или в программе будет предопределенный перечень запросов, которым установить алиасы полей никто не мешает во время разработки?
← →
Медвежонок Пятачок © (2008-09-04 14:42) [23]и не очень красиво если заголовки колонок будут английскими буквами
Очередной перец с обостренным чувством прекрасного.
Не красиво, не очень красиво, вооще не красиво .....
← →
greg123 (2008-09-04 14:42) [24]Удалено модератором
← →
Ega23 © (2008-09-04 14:42) [25]
> Потому что пользователь будет выбирать к какой таблице он
> хочет обратиться и не очень красиво если заголовки колонок
> будут английскими буквами
Знаешь что.
Если пользователь у тебя САМ выбирает, к какой таблице подключаться, то в этом случае ему нужно предоставлять конкретную информацию по этой таблице.
И если поле в таблице называется AdmStCod, то оно и в гридк должно так выглядеть, а не "Код состояния Администратора".
← →
Медвежонок Пятачок © (2008-09-04 14:44) [26]пусть лучше умные люди опытом поделяться с начинающим
Медвежонок Пятачок © (04.09.08 14:28) [18]
Возможно ли чтобы запрос выдавал результат в виде колонки под названием "Название организации".
Чтобы данное действие было универсальным, т.е. не прописывать к каждого полю алиас:
select name_org as [Название организации] from factory?
невозможно.
<Цитата>
Невозможно
← →
Ega23 © (2008-09-04 14:46) [27]
> Пятак ты уже все что смог придумал, пусть лучше умные люди
> опытом поделяться с начинающим
см. [18]
← →
greg123 (2008-09-04 14:47) [28]Просто я хотел, чтобы пользователь выбирал набор полей, которые он хотел бы видет в результате запроса и в этом списке видел не "AdmStCod", а "Код состояния Администратора" и соответственно в гриде колонка точно так же зазывалать.
Но я так понимаю, что это очень проблематично.
← →
Медвежонок Пятачок © (2008-09-04 14:49) [29]Ты определись чего ты хочешь на самом деле.
Хочешь ты чтобы юзер видел русское название или ты не хочешь извоекать метаданные и прописывать алиасы полям в запросе.
Это две совершенно разные хотелки
← →
Медвежонок Пятачок © (2008-09-04 14:57) [30]делаем хранимку с параметром "имя таблицы" в ней тягаем дескрипшены полей, формируем динамический sql и выполняем. либо тоже самое но на клиенте.
← →
Johnmen © (2008-09-04 14:59) [31]
> greg123
Покури сюда
http://sql.ru/forum/actualthread.aspx?tid=432665
и сюда
http://sql.ru/forum/actualthread.aspx?tid=93035
← →
Jeer © (2008-09-04 15:00) [32]И будет тебе сщастье:
select admincolumn as "Код состояния Администратора" from megatable
Ну а уж сделать семантическую подмену в запросе - догадаешься как, надеюсь.
← →
Правильный$Вася (2008-09-04 15:12) [33]замое занятное начнется, когда пользователь захочет переключать интерфейс с русского на казахский, например, и наоборот - в произвольное время
а описания полей так и останутся русскими
и на кой ему такое?
← →
greg123 (2008-09-04 15:16) [34]Спасибо, то что нужно, сейчас буду разбираться
← →
Ega23 © (2008-09-04 15:17) [35]
> замое занятное начнется, когда пользователь захочет переключать
> интерфейс с русского на казахский
Забавное начнётся раньше, когда пользователь будет получать все поля (и BLOB в том числе) на клиент через Select *. Причём даже те, которые ему нафиг не нужны.
← →
Игорь Шевченко © (2008-09-04 16:20) [36]Давить желающих странного
← →
Johnmen © (2008-09-04 16:31) [37]
> Давить желающих странного
Пусть сначала вдоволь на...ся :)
Страницы: 1 вся ветка
Текущий архив: 2009.05.10;
Скачать: CL | DM;
Память: 0.56 MB
Время: 0.01 c