while BList.Count > 0 do
begin
Point := BList.Items[iTmp];
with Dm.ADOQry do
begin
Close;
sql.Clear;
sql.Add(' Insert into B');
sql.Add(' Values(:ID,:sn,0,0,:STime,:1,:2,:3,:4,:5,:6,:7:,:8,:9,:10,:11,:12,:13,:14,:15,:16');
sql.Add(',:17,:18,:19,:20,:21,:22,:23,:24,:25,:26,:27,:28,:29,:30,:31,:32,:33,:34,:35,:36,:37');
sql.Add(',:38,:39,:40,:41,:42,:43,:44,:45,:46,:47,:48,:49,:50,:51,:52,:53,:54,:55,:56,:57,:58,:59');
sql.Add(',:60,:61,:62,:63,:64,:65,:66,:67,:68,:69,:70,:71,:72,:73,:74,:75,:76,:77,:78,:79,:80,:81');
sql.Add(',:82,:83,:84,:85,:86,:87,:88,:89,:90,:91,:92,:93,:94,:95,:96,:97,:98,:99,:100,:101,:102,:103');
sql.Add(',:104,:105,:106,:107,:108,:109,:110,:111,:112,:113,:114,:115,:116,:117,:118,:119,:120,:121');
sql.Add(',:122,:123,:124,:125,:126,:127,:128,:129,:130,:131,:132,:133,:134,:135,:136,:137,:138,:139,:140');
sql.Add(',:141,:142,:143,:144,:145,:146,:147,:148,:149,:150,:151,:152,:153,:154,:155,:156,:157,:158');
sql.Add(',:159,:160,:161,:162,:163,:164,:165,:166,:167,:168,:169,:170,:171,:172,:173,:174,:175');
sql.Add(',:176,:177,:178,:179,:180,:181,:182,:183,:184,:185,:186,:187,:188)');
parameters[0].Value := Point^.ID;
parameters[1].Value := Point^.sn;
parameters[2].Value := ChangeDate(Point^.STime);
for iType := 0 to 187 do
begin
rTmp := Point^.SType[iType];
if rTmp <> -1 then
parameters[3 + iType].Value := rTmp;
end;
ExecSQL;
end;
Dispose(Point);
BList.Delete(iTmp);
Application.ProcessMessages;
end;Blist大概只有50多个,但全部执行完需要35S,大家有好的方法吗?
begin
Point := BList.Items[iTmp];
with Dm.ADOQry do
begin
Close;
sql.Clear;
sql.Add(' Insert into B');
sql.Add(' Values(:ID,:sn,0,0,:STime,:1,:2,:3,:4,:5,:6,:7:,:8,:9,:10,:11,:12,:13,:14,:15,:16');
sql.Add(',:17,:18,:19,:20,:21,:22,:23,:24,:25,:26,:27,:28,:29,:30,:31,:32,:33,:34,:35,:36,:37');
sql.Add(',:38,:39,:40,:41,:42,:43,:44,:45,:46,:47,:48,:49,:50,:51,:52,:53,:54,:55,:56,:57,:58,:59');
sql.Add(',:60,:61,:62,:63,:64,:65,:66,:67,:68,:69,:70,:71,:72,:73,:74,:75,:76,:77,:78,:79,:80,:81');
sql.Add(',:82,:83,:84,:85,:86,:87,:88,:89,:90,:91,:92,:93,:94,:95,:96,:97,:98,:99,:100,:101,:102,:103');
sql.Add(',:104,:105,:106,:107,:108,:109,:110,:111,:112,:113,:114,:115,:116,:117,:118,:119,:120,:121');
sql.Add(',:122,:123,:124,:125,:126,:127,:128,:129,:130,:131,:132,:133,:134,:135,:136,:137,:138,:139,:140');
sql.Add(',:141,:142,:143,:144,:145,:146,:147,:148,:149,:150,:151,:152,:153,:154,:155,:156,:157,:158');
sql.Add(',:159,:160,:161,:162,:163,:164,:165,:166,:167,:168,:169,:170,:171,:172,:173,:174,:175');
sql.Add(',:176,:177,:178,:179,:180,:181,:182,:183,:184,:185,:186,:187,:188)');
parameters[0].Value := Point^.ID;
parameters[1].Value := Point^.sn;
parameters[2].Value := ChangeDate(Point^.STime);
for iType := 0 to 187 do
begin
rTmp := Point^.SType[iType];
if rTmp <> -1 then
parameters[3 + iType].Value := rTmp;
end;
ExecSQL;
end;
Dispose(Point);
BList.Delete(iTmp);
Application.ProcessMessages;
end;Blist大概只有50多个,但全部执行完需要35S,大家有好的方法吗?
解决方案 »
- Delphi中dll共享应用程序中的数据库连接问题
- Fastreport 中memo1中的值如何提取出来赋给变量?
- 如何判断SHU标是否单击(在整个屏幕上)
- delphi 7 sendmessage LVM_DELETEITEM 为什么一次删除两条记录?????
- 邮件正文的问题
- 有句代码看不懂shellexecute(0,nil,pchar(k),nil,nil,sw_normal);
- 刚学DELPHI,在线等待请教一个简单问题
- 菜问题一个,关于PUBLIC函数
- 除了d班,那里有delphi6.0
- 如何实时监视剪贴班的动作?用hook嘛?
- 怎么让DBgrid中title上面的字靠中间对齐?(在线)
- QuickRep1.Units:=?这个属性怎么设?
就是首先使用String变凉保存上述语句,然后使用SQL。Add(STMp)即可。
希望对大家有所帮助!