请问我这样写有什么错误吗,运行时候提示"Invalid parameter"?
try
ADOQuery1.Active:=True;
ADOQuery2.Active:=True;
if ADOQuery1.Active and (self.ADOQuery1.RecordCount>0) and ADOQuery2.Active and (self.ADOQuery2.RecordCount>0) then
begin
for i:=0 to ADOQuery2.Fields.Count-1 do
begin
with self.ClientDataSet1.FieldDefs.AddFieldDef do
begin
Name:=adoquery2.Fields[i].FieldName;
DataType:=adoquery2.Fields[i].DataType;
Size:=adoquery2.Fields[i].Size;
end;
end;
ClientDataSet1.CreateDataSet;
ClientDataSet1.Open;
ClientDataSet1.EmptyDataSet;
for k:=0 to adoquery2.RecordCount -1 do
begin
ClientDataSet1.Append;
for i:=0 to adoquery2.FieldCount-1 do
begin
DBGrid1.Columns[i].Field.Value:=IntToStr(i);
ClientDataSet1.Fields[i].Value:=adoquery2.Fields[i].Value;
end;
end;
ClientDataSet1.First;
end;
finally
end;