我的dbgrid中的column的fieldname是指定的,当dbgrid连到一个未知的表,他的字段名和我指定的fieldname不同时,我系统能提示"文件格式不对",这样的效果怎么做到?

解决方案 »

  1.   

    当dbgrid连到一个未知的表之前, 调用如下函数判断:
    if (fieldcheck()=false) then 
       showmessage('文件格式不对')
     else
      .......============function fieldcheck: boolean;
    var
     astr: string;
     i: integer;
    begin
     result:=true;
     astr:='';
     for i:=0 to DBGrid1.FieldCount-1 do
       astr:=astr+DBGrid1.Fields[i].Name;
     for i:=0 to Query1.FieldCount-1 do
     begin
       if pos(Query1.Fields[i].Name, astr)=0 then
       begin
         result:=false;
         break;
       end;
     end;
    end;
      

  2.   

    改一改这里:
    astr:=astr+','+DBGrid1.Fields[i].Name;