![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
как узнать в запросе что поле ключевое?
Asderg © (2002-11-18 10:22:00)В TQuery выполняется запрос, далее нужно узнать хотя бы кол-во ключевых полей в этой таблице (исходя из этого запроса).
Возможно ли это?
Asderg (2002-11-18 12:07:00) [1]понял, что проблема в две строчки не решается. будем искать обходные пути...
Всем спасибо за помощь.
Sergey13 (2002-11-18 11:38:00) [2]2Asderg © (18.11.02 10:57)
>Существуют сгенерированные таблицы
Кем? Тобой? Тогда в чем вопрос?
Не тобой? А закономерность какая то есть в именах? Например ID в имени поля - можно попробовать это использовать. Иначе, ИМХО, только через системные таблицы(если они есть - какая СУБД то?) в отдельном запросе.
ЗЫ:
>и вытаскивая данные, мне нужно пропустить именно эти ключевые поля...
Это просто любопытство (порок?), но - зачем? Обычно делается как раз наоборот. Если не знаешь зачем поле - показывают. Любой вьюер например. Может если объяснишь КОНЕЧНУЮ цель, общаться будет легче.
passm (2002-11-18 11:28:00) [3]Asderg © (18.11.02 10:57)> С локальной таблицей через TTable.
А в SQL надо знать СУБД.
Для IBM DB2, например:
SELECT C.*
FROM SYSCAT.COLUMNS C
WHERE C.TABSCHEMA = "EXP"
AND C.TABNAME = "DOC_TITLE"
AND C.KEYSEQ IS NOT NULL
Asderg (2002-11-18 10:57:00) [4]2 Sergey13 : Ключевое поле - Primary key в SQL, "*" - в DatabaseDesktop :)
Существуют сгенерированные таблицы, в которых кол-во ключевых полей может быть различно, и вытаскивая данные, мне нужно пропустить именно эти ключевые поля...
passm (2002-11-18 10:54:00) [5]Asderg © (18.11.02 10:49)> Почему же TTable. Есть системные таблицы...
Sergey13 (2002-11-18 10:52:00) [6]2Asderg © (18.11.02 10:29)
>Можно ли из этого объекта TQuery (который сделал выборку) достать кол-во ключевых полей в таблице?
А что в твоем понимании "ключевое поле"? И чем оно отличается от остальных?
На вскидку - для готового(выполненого) запроса - нельзя. Можно поспрашивать системные таблицы, но тогда см. stone © (18.11.02 10:24)
ЗЫ: А зачем тебе это, если не секрет? Какова конечная цель?
Asderg (2002-11-18 10:49:00) [7]2 passm : вы абсолютно правы..
теперь понял абсурдность задачи (для разных субд). неужели необходимо тянуть за запросом еще и TTable (TIBTable) ? :(
просто предполагалось использовать обе субд (Paradox, IB) в зависимости от настроек.
passm (2002-11-18 10:45:00) [8]Asderg © (18.11.02 10:29)> TQuery возвращает в общем случае набор данных, который может быть результатом из нескольких таблиц базы данных. Что в этом случае считать за ключевые поля?
Может быть, вопрос следует перефразировать: как определить набор ключевых полей для таблицы БД?
Для ответа необходимо знать СУБД.
Asderg (2002-11-18 10:29:00) [9]через бде тяну.для TQuery, кажись, неважно.
Можно ли из этого объекта TQuery (который сделал выборку) достать кол-во ключевых полей в таблице?
stone (2002-11-18 10:24:00) [10]а тип БД какой?