Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как определить принадлежность поля к таблице? [D5, Win2k]


stelius ©   (2004-03-26 10:52:00) 

Есть Query, у которого SQL:
SELECT * FROM Table1, Table2
Вопрос вот в чем: как из этого Query определить имя таблицы к которому относиться конткретное поле?
Или это не возможно?

P.S. Sorry, что не в тему форума. Просто уже полчаса пытаюсь добавить сообщение в форум "Базы", а мне IE говорит "ошибка на странице".


Anatoly Podgoretsky   (2004-03-28 12:55:00) [1]

stelius ©   (26.03.04 12:15) [8]
Весьма сомнительно, у них разные адресные простраства, ты что то не договариваешь.


Игорь Шевченко   (2004-03-28 00:58:00) [2]

В Query.Fields[i].Origin ничего не написано ? (иногда там пишется оригинальное имя поля)


Ega23   (2004-03-26 12:37:00) [3]

Есть только Query.Fields[i].FieldName
Может помочь, если знаешь структуру таблиц 1 и 2.
Но всё равно это изврат, ИМХО.


Johnmen   (2004-03-26 12:17:00) [4]

>stelius ©   (26.03.04 12:15) [8]

Нет.


stelius   (2004-03-26 12:15:00) [5]

2bushmen
Я не пишу прогу где формируется DataSet. На входе моей проги есть этот Query и возможность доступа к БД. Но это все лирика.
Вообще можно для определенного поля из Query получить имя таблицы. Грубо говоря есть какое-то свойство поля через которое я могу получить указатель на таблицу его содержащее.
(при этом не зная ни количество таблиц, ни количества и порядка следования полей в них)


bushmen   (2004-03-26 11:45:00) [6]

Вообще-то, если ты пишешь эту прогу, то должен сам знать, что у тебя получается


Sergey13   (2004-03-26 11:43:00) [7]

2stelius ©   (26.03.04 11:36) [5]
Обычно (но не закон по моему), поля в возвращаемом наборе идут как они бъявлены в таблице. Сначала для первой, потом для второй... и т.д. Так что теоретически, зная структуру можно по порядковому номеру распознать. Но... это изврат, ИМХО.


stelius   (2004-03-26 11:36:00) [8]

2 Ega23

Sorry. Привел не правильный пример. Имел в виду следующее:
SELECT *
FROM Table1 INNER JOIN Table2
ON (Table1.Field1 = Table2.Field1)

Но суть не в этом.

Table1 структуры:
Field11 | Field12 | Field13

Table2 структуры:
Field21 | Field22 | Field23

Запрос возвращает:
Field11 | Field12 | Field13 | Field21 | Field22 | Field23

На входе есть Query. Как определить, что Field12 взят из Table1, а Field22 из Table2. Вобщем нужно имя таблицы для каждого поля, входящего в Query.

2Johnmen
Запрос я не могу поменять


Johnmen   (2004-03-26 11:28:00) [9]

SELECT Table1.Field1 AS MyField, ... FROM Table1, Table2


bushmen   (2004-03-26 11:24:00) [10]

А зачем тебе это понадобилось?


Sergey13   (2004-03-26 11:23:00) [11]

2Ega23 ©   (26.03.04 11:01) [1]
Может умереть и на гораздо меньших цифрах. 8-)

2stelius ©   (26.03.04 10:52)
Если ты дождешься ответа от сервера, то этот ответ тебе станет уже не интересен. 8-)


Ega23   (2004-03-26 11:01:00) [12]

Афигеть. Теперь представь, что в Table1 и Table2 по 500000 записей.
У тебя запрос умрёт.


Наверх

Титульная страница Поиск, карта сайта Написать письмо