delphi 有什么办法暂存大批数据,然后批量导入数据库表中

通讯接收是一条条接收,但是数量太多啊,想暂存到数组或者record或者什么地方,然后批量导入数据库表直接存表是一条记录一条记录的来存,处理大批的数据就慢了什么样的东西能够... 通讯接收是一条条接收,但是数量太多啊,想暂存到数组或者record或者什么地方,然后批量导入数据库表
直接存表是一条记录一条记录的来存,处理大批的数据就慢了
什么样的东西能够批量处理存表呢
展开
 我来答
last_wolf1860
2012-04-24 · TA获得超过640个赞
知道小有建树答主
回答量:482
采纳率:100%
帮助的人:353万
展开全部
delphi的ClientDataSet就是一个类似于C#的Datatable的内存表,不进行提交时,始终存在于内存中。完全可以满足您的需求
追问
您能举例说下吗,我听描述可以实现,但不知道怎么操作
追答
ClientDataSet中FieldDefs属性进行字段定义,完毕后,右键ClientDataset组件->CreateDatSet(注意,更改结构后,要右键->Clear DataSet,再右键重新创建一下DataSet),然后就跟普通数据集一样操作了。可以另存为文件。

使用ClientDataSet的工程必须引用MidasLib单元,否则运行时会找Midas.dll
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
bambuz
2012-04-24 · TA获得超过168个赞
知道小有建树答主
回答量:329
采纳率:0%
帮助的人:315万
展开全部
先将接收到的数据暂时保持到一个队列中(逐个入栈),
再一次出栈 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
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
HJ_3000
2012-04-24 · TA获得超过563个赞
知道小有建树答主
回答量:1264
采纳率:78%
帮助的人:56.2万
展开全部
ADO的批量提交模式
追问
你好,能举例说明吗,我对批量提交不懂
后来我用的adodataset方式,感觉你提的意见可以,但是没有怎么使用,当时没明白,感谢
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jinhxinfo
2012-04-26 · 超过66用户采纳过TA的回答
知道小有建树答主
回答量:265
采纳率:100%
帮助的人:125万
展开全部
接收本来就是一条条接收,怎么会慢呢,暂存也需要保存,存一遍肯定比存两遍快
可考虑多线程,一个线程接,一个线程存
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式