delphi 有什么办法暂存大批数据,然后批量导入数据库表中
通讯接收是一条条接收,但是数量太多啊,想暂存到数组或者record或者什么地方,然后批量导入数据库表直接存表是一条记录一条记录的来存,处理大批的数据就慢了什么样的东西能够...
通讯接收是一条条接收,但是数量太多啊,想暂存到数组或者record或者什么地方,然后批量导入数据库表
直接存表是一条记录一条记录的来存,处理大批的数据就慢了
什么样的东西能够批量处理存表呢 展开
直接存表是一条记录一条记录的来存,处理大批的数据就慢了
什么样的东西能够批量处理存表呢 展开
4个回答
展开全部
delphi的ClientDataSet就是一个类似于C#的Datatable的内存表,不进行提交时,始终存在于内存中。完全可以满足您的需求
追问
您能举例说下吗,我听描述可以实现,但不知道怎么操作
追答
ClientDataSet中FieldDefs属性进行字段定义,完毕后,右键ClientDataset组件->CreateDatSet(注意,更改结构后,要右键->Clear DataSet,再右键重新创建一下DataSet),然后就跟普通数据集一样操作了。可以另存为文件。
使用ClientDataSet的工程必须引用MidasLib单元,否则运行时会找Midas.dll
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
先将接收到的数据暂时保持到一个队列中(逐个入栈),
再一次出栈 5条(可灵活定义)数据, 拼装成如下 sql语句插入到数据库中:
insert into table[field1, field2, field3]
select f11, f21, f31
union all select f12, f22, f32
union all select f13, f23, f33
union all select f14, f24, f34
union all select f15, f25, f35
再一次出栈 5条(可灵活定义)数据, 拼装成如下 sql语句插入到数据库中:
insert into table[field1, field2, field3]
select f11, f21, f31
union all select f12, f22, f32
union all select f13, f23, f33
union all select f14, f24, f34
union all select f15, f25, f35
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
ADO的批量提交模式
追问
你好,能举例说明吗,我对批量提交不懂
后来我用的adodataset方式,感觉你提的意见可以,但是没有怎么使用,当时没明白,感谢
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
接收本来就是一条条接收,怎么会慢呢,暂存也需要保存,存一遍肯定比存两遍快
可考虑多线程,一个线程接,一个线程存
可考虑多线程,一个线程接,一个线程存
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询