Tquery可以获取一个表的数据类型吗?获取字段类型TField怎么写的,谢谢。

解决方案 »

  1.   

    informix,系统表里怎么查?不太懂
      

  2.   

    获取字段下的数据方法是     Query1.FieldByName('字段名').AsString;
      

  3.   

    不需要数据,只要字段的类型,字段TField类。用Tquery可以获得不?
      

  4.   

    select a.name,b.name from syscolumns a
    left join systypes b
    on a.xtype=b.xusertype
    where id=object_id('jobs')
     
    /*
    name                                                                                                                             name                                                                                                                             
    -------------------------------------------------------------------------------------------------------------------------------- -------------------------------------------------------------------------------------------------------------------------------- 
    job_id                                                                                                                           smallint
    job_desc                                                                                                                         varchar
    min_lvl                                                                                                                          tinyint
    max_lvl                                                                                                                          tinyint(所影响的行数为 4 行)
    */
      

  5.   

    看这样行不行
    procedure TForm1.Button1Click(Sender: TObject);
    var
      s: TFieldType;
    begin
      Memo1.Lines.Add(adoquery1.Fields[0].FieldName);
      s := adoquery1.Fields[0].DataType;
      case s of
        ftSmallint: memo1.Lines.Add('smallint');
        ftString: memo1.Lines.add('string');
        ftInteger: memo1.Lines.Add('integer');
      end;
      {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);
      }
    end;
      

  6.   

    这个好像不行吧,你里面的Field是那个表的Field怎么知道的?
      

  7.   

    query.fieldbyname('code')就是tfield类型
    query.fieldbyname('code').datatype就是字段的类型.
    可能delphi中定义的字段类型的名称跟数据库中的类型名称有点不一样