我知道这样可以取出字段类别  
 var c:TFieldType;
 c := Table1.Fields[1].DataType;
但是,不知道如何将其转换为String显示出来?

解决方案 »

  1.   

    它是一个枚举类型,所以不能直接转换为String显示出来。
      

  2.   

    Type
      TDataType=TFieldType;而TFieldType则是一枚举类型,所以你只能这样
    var s:Stirng;Case Table1.Fields[1].DataType of
    ftString:s:='String';
    ftInteger :S:='Integer';
    ...
    end
      

  3.   

    uses Typinfo 
    procedure TForm1.Button1Click(Sender: TObject);
    var
      i,j:integer;
      s:TFieldType;
      st,str:string;
      i1,j1:integer;
    begin  i:=form1.Table1.FieldCount;
      for j:=0 to i-1 do
      begin
        s:=form1.Table1.Fields.Fields[j].DataType;
        st:=GetEnumName(typeinfo(TFieldType),ord(s));
        i1:=length(st);
        form1.Edit1.Text:=st;
        form1.Edit1.SelStart:=2;
        form1.Edit1.SelLength:=i1-2;
        str:=form1.Edit1.SelText;
        showmessage(str);
      end;
    end;