Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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
2-1238060969
Mixali4
2009-03-26 12:49
2009.05.10
Скорость передачи в сети


2-1238427650
Brauberg
2009-03-30 19:40
2009.05.10
Поиск и запись в строке


15-1236069469
забылпароль
2009-03-03 11:37
2009.05.10
OpenOffice. Что хорошего, кроме бесплатности?


15-1236237557
{RASkov}
2009-03-05 10:19
2009.05.10
Когда драйвер "не нужен", а ОСь его требует


15-1236632358
Nic
2009-03-09 23:59
2009.05.10
Nic