请大侠帮忙!

解决方案 »

  1.   

    Table1.FieldByName('字段名').DataType
    得到一个TFieldType 类型的值
      TFieldType = (ftUnknown, ftString, ftSmallint, ftInteger, ftWord,
        ftBoolean, ftFloat, ftCurrency, ftBCD, ftDate, ftTime, ftDateTime,
        ftBytes, ftVarBytes, ftAutoInc, ftBlob, ftMemo, ftGraphic, ftFmtMemo,
        ftParadoxOle, ftDBaseOle, ftTypedBinary, ftCursor, ftFixedChar, ftWideString,
        ftLargeint, ftADT, ftArray, ftReference, ftDataSet, ftOraBlob, ftOraClob,
        ftVariant, ftInterface, ftIDispatch, ftGuid, ftTimeStamp, ftFMTBcd);
      

  2.   

    query1.SQL.text := 'select FieldName=left(a.name,255) ,'
          +'       DataTypeName=left(b.name,255),'
          +'       DataLen=a.length,'
          +'       CanNull=columnproperty(object_id("'+ATableName+'"),a.name,"AllowsNull"),'
          +'       DefaultValue=(select left(text,20) from syscomments where  id= a.cdefault) '
          +'    from syscolumns a,systypes b '
          +'    where a.id=object_id("'+ATableName+'") '
          +'      and a.xtype=b.xtype'
          +'    order by a.colid';
        query1.open ;
        YourFieldType:= trim(query1.fieldbyname('DataTypeName').asstring) ;