TDatabase.GetFieldNames equivalent

Discussion of open issues, suggestions and bugs regarding IBDAC (InterBase Data Access Components) for Delphi, C++Builder, Lazarus (and FPC)
Post Reply
Princess Innah
Posts: 2
Joined: Thu 02 Sep 2010 10:23

TDatabase.GetFieldNames equivalent

Post by Princess Innah » Thu 02 Sep 2010 10:25

Hi. Is there an equivalent to the TDatabase.GetFieldNames method?

Dimon
Devart Team
Posts: 2910
Joined: Mon 05 Mar 2007 16:32

Post by Dimon » Thu 02 Sep 2010 14:37

We don't have exact equivalent for this function, but you can use TIBCMetaData for obtaining the same result. Here is an example:

Code: Select all

procedure GetFieldNames(Connection: TIBCConnection; const TableName: string; List: TStrings);
var
  IBCMetaData: TIBCMetaData;
begin
  IBCMetaData := TIBCMetaData.Create(nil);
  try
    IBCMetaData.Connection := Connection;
    IBCMetaData.MetaDataKind := 'Columns';
    IBCMetaData.Restrictions.Add('table_name=' + TableName);
    IBCMetaData.Open;
    IBCMetaData.First;
    List.Clear;
    while not IBCMetaData.Eof do begin
      List.Add(IBCMetaData.FieldByName('column_name').AsString);
      IBCMetaData.Next;
    end;
  finally
    IBCMetaData.Free;
  end;
end;

Princess Innah
Posts: 2
Joined: Thu 02 Sep 2010 10:23

Post by Princess Innah » Fri 03 Sep 2010 05:01

Wow. That was fast. Thank you so much.

Post Reply