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

Вниз

Как получить коментарий к полю?   Найти похожие ветки 

 
SergP ©   (2004-11-07 07:54) [0]

Есть БД. Есть в ней таблица, у которой у каждого поля есть коментарий.
Как мне добраться до этих коментариев (хотя бы только для чтения) из своей программы?

БД - Access
доступ через ADO


 
Vit@ly ©   (2004-11-07 10:30) [1]

Так же как и до любого другого поля таблицы. В чем, собственно, проблема?


 
Dell3r ©   (2004-11-07 10:33) [2]

А не пробовал эти комментарии перенести в отдельну колонку и оттуда их считывать, и даже редактировать.


 
Vit@ly ©   (2004-11-07 10:34) [3]

2 Vit@ly ©   (07.11.04 10:30) [1]
Извиняюсь, не верно понял вопрос :(


 
SergP ©   (2004-11-07 11:02) [4]

При создании таблицы в конструкторе указываются имя поля, тип данных и описание...
Вот это описание мне и нужно...
Допустим я редактирую гридом какой-нить кусок таблицы выбраный select"ом.
В таблице полей очень много. Чтобы юзеру было понятнее что где, я хочу сделать внизу StatusBar где бы отображался коментарий к текущему полю, т.е. что за данные там находятся. Могу в принципе и в самой программе сделать массив с этими коментариями и пользоваться ним, могу в базе создать отдельную таблицу специально для этого, но это все не то.
Тем более что если полям можно давать коментарии, то почему бы их не использовать. Вот только как, не знаю.


 
Ученик   (2004-11-07 13:55) [5]

В оригинале TADOConnection.GetFieldNames


procedure TADOConnection.GetFieldNamesAndLabels(const TableName: string; aNames, aLabels: TStrings);
const
 COLUMN_NAME = "COLUMN_NAME"; { Do not localize }
 COLUMN_LABEL = "DESCRIPTION";
var
 Fields: _Recordset;
 P : Integer;
 ColumnName,
 ColummLabel,
 TempTableName,
 TempSchemaName : Variant;
begin
 CheckActive;
 P := Pos(".", TableName);
 if P > 0 then begin
   TempSchemaName := Copy(TableName, 1, P - 1);
   TempTableName  := Copy(TableName, P + 1, Length(TableName) - P);
 end else begin
   TempTableName := TableName;
   TempSchemaName := Null;
 end;
 Fields := ConnectionObject.OpenSchema(adSchemaColumns, VarArrayOf([Null, TempSchemaName, TempTableName]),
   EmptyParam);
 aNames.BeginUpdate;
 try
   aNames.Clear;
   aLabels.BeginUpdate;
   try
     aLabels.Clear;
     ColumnName := Fields.Fields[COLUMN_NAME];
     ColummLabel := Fields.Fields[COLUMN_LABEL];
     while not Fields.EOF do begin
       aNames.Add(ColumnName.Value);
       aLabels.Add(ColummLabel.Value);
       Fields.MoveNext;
     end
   finally
     aLabels.EndUpdate
   end
 finally
   aNames.EndUpdate
 end
end;



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

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

Наверх




Память: 0.48 MB
Время: 0.026 c
4-1098335636
sergeii
2004-10-21 09:13
2004.12.05
Toolbar+Mouse Click


1-1101123489
_alex_
2004-11-22 14:38
2004.12.05
Помогите разобраться с задержкой


3-1099906465
Bless
2004-11-08 12:34
2004.12.05
NextRecordset(RecordsAffected). Что возвращает RecordsAffected?


1-1100758913
masha
2004-11-18 09:21
2004.12.05
OracleScript как вывести выполнение скрипта


14-1100708166
cyborg
2004-11-17 19:16
2004.12.05
Опрос по поводу данного форума