Получение информации о таблице

Материал из DRKB

Получение информации о таблице[править | править код]

Вам нужно воспользоваться свойством FieldDefs. В следующем примере список полей и их соответствующий размер передается компоненту TMemo (расположенному на форме) с именем Memo1:

procedure TForm1.ShowFields;
var
  i: Word;
begin
  Memo1.Lines.Clear;
  Table1.FieldDefs.Update;
  { должно быть вызвано, если Table1 не активна }
  for i := 0 to Table1.FieldDefs.Count - 1 do
    with Table1.FieldDefs.Items[i] do
      Memo1.Lines.Add(Name + ' - ' + IntToStr(Size));
end;


Если вам просто нужны имена полей (FieldNames), то используйте метода TTable.GetFieldNames:

GetIndexNames для получения имен индексов:

var
  FldNames, IdxNames: TStringList;
begin
  FldNames := TStringList.Create;
  IdxNames := TStringList.Create;
  try
    if Table1.State = dsInactive then
      Table1.Open;
    Table1.GetFieldNames(FldNames);
    Table1.GetIndexNames(IdxNames);
    {...... используем полученную информацию ......}
  finally
    FldNames.Free; { освобождаем stringlist }
    IdxNames.Free;
  end;
end;


Для получения информации об определенном поле вы должны использовать FieldDef.



Source: Взято с http://delphiworld.narod.ru
ID: 02601