读书人

批量插入数据到数据库,该怎么解决

发布时间: 2012-04-30 22:33:26 作者: rapoo

批量插入数据到数据库
先采集到新闻内容显示到 StringGrid中,大约有1W多条

表结构
ID为主键
BT为标题
NR为内容

ID值为必填,插入时查询最大ID+1;编号规则为A000000000;最后一位从1开始

我现在要把StringGrid中的内容全部保存到这个表中

之前我用 for i := 2 to StringGrid.RowCount -1 do
begin
Application.ProcessMessages;
ID := TLargeID('A','CustomerData','id');//这里查询最大ID加1
BT:= Grid1.Cells[1,i];
NR:= Grid1.Cells[2,i];

aquery.Append;
//.............................
aquery.post;
end;

这样插入数据灰常慢,可不可以一次性插入上万条数据 用时大概在两秒内? 插入时要考虑ID自动1



[解决办法]
如果是SQLServer的数据库,可以考虑将StringGrid中的内容先导出到文本文件,然后bulk insert即可,很快。

读书人网 >.NET

热点推荐