Форум: "Базы";
Текущий архив: 2004.12.05;
Скачать: [xml.tar.bz2];
ВнизКак получить коментарий к полю? Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.047 c