with DATAMODULE1.DATABase1 do //连接别名//
  begin
    Connected := false;
    AliasName := ListBox1.Items[ListBox1.itemindex];//选择别名    try
      LoginPrompt := true;
      Connected := true;
      Session.GetTableNames(AliasName,'',false,false,ListBox1.Items);//获取表名并加入到listbox中
    except
      Application.Messagebox(Pchar('无法连接数据库,别名' + AliasName),
        Pchar('警告'),mb_ok);
      Abort;
    end;
  end;获取了表名之后,可以通过循环得到字段名称:
for I := 0 to table.fieldcount - 1 do
begin
  listbox1.items.add(table.fields[i].name)
end;