是这样的,我用ADODataSet.SaveToFile将数据保存到了一个文件里面。
用ADODataSet.LoadFromFile加载了后,要将这些数据导入到数据表里面。我现在用另外一个ADOQuery打开要导入的表。然后
ADODataSet.First;
while not ADODataSet.Eof do begin ADOQuery.Append;
ADOQuery.FieldByName('').AsString:= ADODataSet.FieldByName('').AsString;
ADOQuery.Post; ADODataSet.Next;end;
但这样做效率好低啊,数据几万条后,就要好几秒,而且CPU占用也到了100.有没有更加高效的方法?望指点!
用ADODataSet.LoadFromFile加载了后,要将这些数据导入到数据表里面。我现在用另外一个ADOQuery打开要导入的表。然后
ADODataSet.First;
while not ADODataSet.Eof do begin ADOQuery.Append;
ADOQuery.FieldByName('').AsString:= ADODataSet.FieldByName('').AsString;
ADOQuery.Post; ADODataSet.Next;end;
但这样做效率好低啊,数据几万条后,就要好几秒,而且CPU占用也到了100.有没有更加高效的方法?望指点!
adocommand1用来提交with ADODataSet.recordset do
begin
if recordcount=0 then Exit;
MoveFirst;
adocommand1.close;
adocommand1.commandtext :=sql;
adocommand1.prepare;
while not Eof do
begin
adocommand1.Parameters.ParamByName('fieldname1').Value := Fields['fieldname1'].value
adocommand1.Parameters.ParamByName('fieldname2').Value := Fields['fieldname2'].value
adocommand1.Parameters.ParamByName('fieldname3').Value := Fields['fieldname3'].value
adocommand1.Parameters.ParamByName('fieldname4').Value := Fields['fieldname4'].value
adocommand1.Execute;
MoveNext;
end;
end;
测试一下效率
====
分享快乐:www.delphichm.com