tdataset有一个fields属性,指向打开的表的字段集合
然后你可以对Tfields一个个访问就知道是否存在了。

解决方案 »

  1.   

    笨方法:
     for i:=0 to table1.FieldCount-1 do
       memo1.Lines.Add(table1.fields[i].fieldname);然后再根据memo的值一一比较
      

  2.   

    还有一种更快捷的方法,FindField
    如:
      if table1.Fields.FindField('abc')=nil then
        showmessage('this field not exist!');这可快的多啊,呵呵呵!!!
      

  3.   

    Table1.Active := True;
    for i:= 1 to Table1.FieldDefs.Count - 1 do
    begin
      if table1.fielddefs[i].name='aaa' then
         showmessage('已经存在aaa');
    end;
    Table1.Active := False;