如何能够得知table中的字段是什么类形?(如字符,数字,浮点等)

解决方案 »

  1.   

    那就只能去判断了!
    比如,你要判断某一个字段(Field1)是不是浮点型:
    if Field1 is FloatField then
    begin
      (Field1 as FloatField).DisplayFormat:='';
    //   做你的事啊
    end
      

  2.   

    根据他的ClassType.ClassName来判断,
    if pos('STRING',uppercase(AdoQuery1.Fields.Fields[i].ClassType.ClassName))>0 then    stype:='String';
    if (pos('FLOAT',uppercase(AdoQuery1.Fields.Fields[i].ClassType.ClassName))>0)
    then sType='float';
    if (pos('BCD',uppercase(AdoQuery1.Fields.Fields[i].ClassType.ClassName))>0) then     sType:='Bcd';
    if pos('DATE',uppercase(AdoQuery1.Fields.Fields[i].ClassType.ClassName))>0 then      Stype:='Date';
    if pos('BOOL',uppercase(AdoQuery1.Fields.Fields[i].ClassType.ClassName))>0 then  Stype:='Bool';
    if pos('INTE',uppercase(AdoQuery1.Fields.Fields[i].ClassType.ClassName))>0 then    Stype:='integer';
      

  3.   

    case Table1.Fields[j].DataType of
    ftString:showmessage('String');
    ftInteger:Showmessage('integer');
    end;就是这个样子了,还有很多其它类型的,我不一一写了,查一下帮助马上能找到
      

  4.   

    if table1.FieldDefs.Find('AAA').DataType = ftString then
        showmessage('Type of Field AAA is String');
      

  5.   

    Fields[i].DataType
    得到的是一个TFieldType类型的值。如ftFloat,ftInteger……
    可以用GetEnumName(TypeInfo(Fields[i].DataType),Fields[i].DataType)获取它的字符串
    表述。其实还有一个方法:就是从数据库中直接读取。这样不仅可以获得烈的类型名称,还可以得到所有烈的属性参数。如:Null,Length,Size,Scale……等等。