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

Вниз

Получить аттрибуты полей   Найти похожие ветки 

 
Arkaban ©   (2010-04-19 12:34) [0]

Всем добрый день.
Ситуация такая: в моем проекте на Delphi 7 есть TSQLDataSet, который выполняет запрос к базе данных. В результате получаем набор данных. Мне нужно этот набор данных разместить в другой базе данных. При этом, этот набор данных может иметь переменное число полей разных типов с разными аттрибутами. Как я могу получить эти аттрибуты? Аттрибуты scale, size, тип поля, NOT NULL я научился определять. А остальные (Charset, Collate,Default Source и т.д.) получить не могу. Пытаюсь получить их через FieldDefs, но не понимаю, как это сделать.
База данных на Yaffil.


 
Ega23 ©   (2010-04-19 12:38) [1]

TField.DataType + F1
А вообще я бы к системным таблицам обратился.


 
Arkaban ©   (2010-04-19 12:41) [2]

DataType дает только тип поля:  ftString, ftInteger и т.д.
Мне надо что-то вроде
TSQLDataSet.FieldDefs[i].Precision, TSQLDataSet.FieldDefs[i].Required и т.п.


 
Ega23 ©   (2010-04-19 12:43) [3]


> Мне надо что-то вроде
> TSQLDataSet.FieldDefs[i].Precision, TSQLDataSet.FieldDefs[i].
> Required и т.п.


К системным таблицам. Если поддерживается ANSI-шный стандарт по INFORMATION_SCHEMA - то туда.


 
Arkaban ©   (2010-04-19 12:46) [4]

То есть определять, к какой таблице относиться поле, обращаться к этой таблице у уже у нее смотреть аттрибуты поля?


 
Ega23 ©   (2010-04-19 12:56) [5]

Ты многого не получишь. Например, на поле наложен индекс (или ключ, или поле является частью составного ключа). Или ограничение. Или default-значение.
Набору данных это дело, по большому счёту, пофиг, он возвращает именно данные. Далее, простой пример:

create table ttt (aValue varchar(10) not null);
select cast(aValue as varchar(5)) as aValue from ttt;


Так вот, размер поля в наборе данных будет 5. А не 10.


 
Arkaban ©   (2010-04-19 13:19) [6]

Спасибо.



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

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

Наверх




Память: 0.48 MB
Время: 0.053 c
15-1275769777
Юрий
2010-06-06 00:29
2010.08.27
С днем рождения ! 6 июня 2010 воскресенье


2-1273679255
NBAH1990
2010-05-12 19:47
2010.08.27
Как сделать видео из скриншотов?


15-1272738123
Pavia
2010-05-01 22:22
2010.08.27
утечка конфиденцальных данных


15-1269116259
Petr V. Abramov
2010-03-20 23:17
2010.08.27
Россия вернула себе первенство в Специальной Олимпиаде


15-1270569642
HRustBB
2010-04-06 20:00
2010.08.27
Не нарушу ли я авторские права компании Borland если...