Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.06.14;
Скачать: CL | DM;

Вниз

Получить список полей, их типы и индексы при помощи SQL   Найти похожие ветки 

 
-=XP=- ©   (2005-05-05 14:55) [0]

Есть ли средства для получения списка полей в таблице (с указанием их типа данных, размера) при помощи SQL запроса? Какая системная таблица хранит эти данные?
Чтобы получить нечто наподобие:

Name      Type      Size
Field1    CHAR      10
Field2    INTEGER
Field3    TEXT


И то же самое по индексам: наименование индекса, какие поля входя в индекс, дополнительные параметры.


 
DSKalugin ©   (2005-05-05 15:17) [1]

Не знаю как там в SQL но обычными компонентами эту информацию можно получить манипулируя методами объектов TFieldDefs и TIndexDefs


 
Lexer ©   (2005-05-05 16:16) [2]

select R.RDB$RELATION_NAME, R.RDB$FIELD_POSITION, R.RDB$FIELD_NAME,
F.RDB$FIELD_LENGTH, F.RDB$FIELD_TYPE, F.RDB$FIELD_SCALE, F.RDB$FIELD_SUB_TYPE
from RDB$FIELDS F, RDB$RELATION_FIELDS R
where F.RDB$FIELD_NAME = R.RDB$FIELD_SOURCE and R.RDB$SYSTEM_FLAG = 0
order by R.RDB$RELATION_NAME, R.RDB$FIELD_POSITION


 
-=XP=- ©   (2005-05-05 16:18) [3]

Но как определить наличие индекса для таблицы без использования TADOTable? TADOQuery не имеет свойства IndexDefs. Каким образом определить наличие того или иного индекса в таблице?


 
-=XP=- ©   (2005-05-05 16:21) [4]

RDB$FIELDS
Was ist das?

В Access такого, увы, нет.
Всякие MSYSObjects, MSYSAccess не дают того, что нужно.
Может, какая-то скрытая таблица есть?


 
Anatoly Podgoretsky ©   (2005-05-05 16:42) [5]

В АДО есть понятие схема, возможно она доступна и для Акцесс. Через схему можно получить абсолютно все метаданные.


 
DSKalugin ©   (2005-05-05 16:51) [6]

>Но как определить наличие индекса для таблицы без использования TADOTable?
А чем тебе АДО не устраивает не могу понять. Чем как не АДО ковырять Акцесс?
>Каким образом определить наличие того или иного индекса в таблице?
Получить список индексов и проверить в нем наличие искомого с помощью TADOTable.GetIndexNames


 
sniknik ©   (2005-05-05 17:45) [7]

> ... возможно она доступна и для Акцесс.
точно доступна,
вплоть до связок по форейн кеу, и описателей (description) полей, не говоря уж о типах. и открывать таблицу (выкачивать все записи) только для узнавания структуры не придется.

-=XP=-
см. хелп по методу OpenSchema.


 
Anatoly Podgoretsky ©   (2005-05-05 19:20) [8]

Я подозревал :-)
Все таки Микрософт и он многое взял из Акцесс, ведь в свое время это был их продукт номер один, это сейчас они стараются перенаправить пользователей на MSDE


 
Anatoly Podgoretsky ©   (2005-05-05 19:21) [9]

sniknik ©   (05.05.05 17:45) [7]
И пример Adotest, там широко используется схема, для визуального создания запросов и много другого. Кстати очень приятный пример для ознакомления с возможностями АДО



Страницы: 1 вся ветка

Текущий архив: 2005.06.14;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.034 c
14-1116828369
vidiv
2005-05-23 10:06
2005.06.14
Перекомпилировать весь VCL


1-1117099653
pavel_guzhanov
2005-05-26 13:27
2005.06.14
Работа с PopupMenu


6-1111963806
АНТИСпаммер
2005-03-28 02:50
2005.06.14
Сниффинг локального траффика


9-1110741932
parovoZZ
2005-03-13 22:25
2005.06.14
JEDI SDL - SDLSpriteEngine


1-1116926464
Pavelkq
2005-05-24 13:21
2005.06.14
Передача имени массива в качестве параметра