![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 21.12.2010
Сообщений: 6
|
![]()
Здравствуйте,
Я только начинающий и столкнулся со следующей проблемой. допустим есть такой SQL запрос: SELECT books.id, notebook.*, pencils.id, album.id FROM books, notebook, pencils, album Результат выполнения (MS SQL Server 2003) мы видим ниже ![]() из результата, отображенного на картинке, сразу не возможно без визуального обращения к SQL запросу определить к какой таблице относится колонка id !!! Вопрос: Каким образом возможно (без изменения выше указанного SQL запроса) вывести в наименование колонки dbgrid не только само название колонки, указанное в SQL запросе, но и наименование таблицы из которой взята эта колонка (колонки)? |
![]() |
![]() |
![]() |
#2 |
!=
Участник клуба
Регистрация: 08.09.2008
Сообщений: 1,751
|
![]()
Select books.id as Books_id, ......
|
![]() |
![]() |
![]() |
#3 |
Регистрация: 21.12.2010
Сообщений: 6
|
![]() |
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
![]()
Результат то в DbGrid-е отображаете? В нем прописать колонки вручную и дать им нужные названия. Но это по времени еще дольше, чем модифицировать запросы. Других способов нет
PS названия колонкам можно конечно и программно реализовать, но думаю вам это еще больше не понравится
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Последний раз редактировалось Аватар; 17.03.2012 в 21:00. |
![]() |
![]() |
![]() |
#5 |
!=
Участник клуба
Регистрация: 08.09.2008
Сообщений: 1,751
|
![]()
как я понял в гриде могут отображаться разные запросы, если так то задавать колонки грида вручную смысла нет, объяснить приложению чем поле в датасете с именем id из таблицы books отличается от поля в датасете с именем id из любой другой таблицы вы не сможете, (это на счёт программного) так что меняйте запросы..
ЗЫ Хотя погорячился Аватар прав, программно можно, если после вызова каждого запроса писать что то вроде этого Dataset.FieldByName('ID').DisplayLa bel:='ИД Books'; Последний раз редактировалось vovk; 17.03.2012 в 21:36. |
![]() |
![]() |
![]() |
#6 | |
Регистрация: 21.12.2010
Сообщений: 6
|
![]() Цитата:
Можно было бы программно проводить проверку самого SQL запроса, находить в нем select и от него двигаться до первой точки потом отсчитывать назад неизвестное количество символов до пробела или запятой, запоминать в буфер, а потом column title dbgrida передавать, и т.д до конца всего sql запроса.... Но это километровый код...... |
|
![]() |
![]() |
![]() |
#7 |
!=
Участник клуба
Регистрация: 08.09.2008
Сообщений: 1,751
|
![]()
Не такой уж километровый, одной процедурой можно обойтись, но учитывать всё придётся, и если запрос будет вида
Select id,... без указания таблицы только потому, что id содержится только в 1 из связных таблиц, то облом Последний раз редактировалось vovk; 17.03.2012 в 21:54. |
![]() |
![]() |
![]() |
#8 | |
Регистрация: 21.12.2010
Сообщений: 6
|
![]() Цитата:
поэтому и многим другим нюансам от этого способа я отказался а других не знаю...... |
|
![]() |
![]() |
![]() |
#9 | |
Старожил
Регистрация: 08.02.2012
Сообщений: 2,173
|
![]() Цитата:
Правильно поставленная задача - три четверти решения.
|
|
![]() |
![]() |
![]() |
#10 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
![]()
Дубово конечно, но можно держать в проге для каждого запроса позиционную таблицу названий колонок. Ну а вообще все это чушь - лучшего способа чем подправить тексты запросов нет
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Последний раз редактировалось Аватар; 17.03.2012 в 22:07. |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Проблема с sql запросом в Delphi | CRASH040 | БД в Delphi | 8 | 25.05.2011 19:49 |
ПРоблема с SQL запросом в Delphi | ZBEP | БД в Delphi | 4 | 23.05.2011 19:17 |
макрос добавления названий для таблиц | darklumen | Microsoft Office Word | 8 | 16.11.2010 23:00 |
Создание новых таблиц в MS SQL SERVERE через SQL запрос в Delphi | S_Yevgeniy | Помощь студентам | 1 | 27.10.2009 06:26 |
Поломал голову над SQL запросом из 5-ти таблиц. Возможно ли это? | semnily | SQL, базы данных | 1 | 06.04.2009 12:24 |