问题一
为什么这样做不行?
ADOQuery1.LockType:=ltBatchOptimistic;
For循环1500次
Sql.Add('Insert into Address Values')
……
ADOQuery1.UpdateBatch;
执行出错,好像是数据集不支持这样操作,难道只有update才能用批量更新吗?
问题二
大约每次插入1500条数据,怎样做速度快效率高
为什么这样做不行?
ADOQuery1.LockType:=ltBatchOptimistic;
For循环1500次
Sql.Add('Insert into Address Values')
……
ADOQuery1.UpdateBatch;
执行出错,好像是数据集不支持这样操作,难道只有update才能用批量更新吗?
问题二
大约每次插入1500条数据,怎样做速度快效率高
解决方案 »
- WebBrowser 网页加载完后,如何使网页的输入框自动获得焦点
- 简单ftp实现 急
- 那位大哥知道2004年下半年软件工程师资格考试教材那里有?
- @@@@@用indy的tcpserver和tcpclient控件进行数据的收发,因为发送端的发送频率很高,造成发送端在关闭的时候,还有一部分数据在缓冲中,
- 关于系统分辨率
- 发现delphi新大陆!!!
- 关于写入INI文件的错误,请指教?
- 出现Could not create output file <Filename> 如何解决?在线等待!!
- 郁闷的男孩求救???
- IT系列图书,诚征部分编者加盟,待遇从优.
- AdvStringGrid1 编辑设置
- AdvStringGrid1 编辑设置
方案有两个:
1、你可以把你的SQL语句串起来strSQL := StrSQL + 'Insert into Address Values';2、批量执行。
批量执行需要Append;
然手Post;最后执行UpdateBatch(arAll);
批量执行需要Append;
然手Post; 最后执行UpdateBatch(arAll); 请问怎么批量执行Append,你举个简单的例子吗?
比如ADOQuery1.Sql.Add('Insert into 表名 ([字段]) Values(=:变量)');
for i:=1 to 1500 do
begin
ADOQuery1.Parameters.paramByName('变量') := 每次一个新值;
ADOQuery1.ExecSQL;
ADOQuery1.Close;
end;
另外1楼有第二种方法的实际代码段吗?批量执行需要Append;
然手Post;
最后执行UpdateBatch(arAll);
你的答案我试过了很好,还有一个问题UpdateBatch只用用于批量修改吗?对于Insert不能用?
这个我也不太懂,期待高人回答