当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;
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;
astr:=astr+','+DBGrid1.Fields[i].Name;