批量插入数据到数据库
先采集到新闻内容显示到 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即可,很快。