for i := 0 to adodataset1.FieldCount - 1 do
begin
  if adodataset1.Fields[i].DataType = ftString then
  ///
end;

解决方案 »

  1.   

    用下面的语句
    ADODataSet1->Fields->Fields[0]->DataType;
      

  2.   

    早说不就行了:
    uses TypInfo;for i := 0 to adodataset1.FieldCount - 1 do
    begin
      combox1.Items.Add(GetEnumName(PTypeInfo(TypeInfo(TFieldType)), Ord(adodataset1.Fields[i].DataType)));
    end;
      

  3.   

    天哪,chechy讲得很清楚啦,if后面接下去就可以啦for i := 0 to adodataset1.FieldCount - 1 do
    begin
      if adodataset1.Fields[i].DataType = ftString then
      ///
    end; 
     
      

  4.   

    dbGrid1.DataSource.DataSet.fields[1].DataType 为什么总是ftunknown,其实它是字符串型的。与dataset 是table与query应该没关系吧。不知为什么不能识别