关于vb+access+com的问题,一个过程没有执行完下一个过程到了,怎么办?

zenartus 2007-08-12 02:20:38
开发的程序是用com口监控有没有新数据,一有新数据就写入数据库,并把对相应的表的统计信息刷新显示到界面上,但是现在出现的问题是有时候前面的过程还没执行完毕后面又有新的数据产生了,这样就出现了一个严重的问题,数据丢失,前面的操作没有进行完的话,后面来的新数据就会被丢掉。
请各路高手帮帮忙!不胜感激!!!
...全文
193 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
of123 2008-01-29
  • 打赏
  • 举报
回复
你是用什么方法写入数据库和进行数据处理的?
数据多了,库文件自然大了。对库的访问涉及磁盘交换,当然慢了。

关键是采用异步方式,将 SQL 丢给数据库引擎后,On_Com 就退出,不要等在那里。
zenartus 2008-01-28
  • 打赏
  • 举报
回复
虽然是很旧的帖子 我还要坚持
zenartus 2007-08-13
  • 打赏
  • 举报
回复
是这样的,我有个on_comm事件,里面的过程是先对com口传上来的数据格式一下,然后把整理好的数据写入数据库,再对生产数据进行几个统计,统计的数值显示在界面上。
一开始数据不多的时候还都正常,过一段时间这个表里有了十几万的数据了,就出现了上面我说的情况,所以我不知道是不是我的处理过程出问题了还是数据库的执行效率不够。
我还想问一下,就是access数据库里面的表如果有了几十万的数据,它写数据操作和查询统计操作的耗时是不是都很长时间?
of123 2007-08-13
  • 打赏
  • 举报
回复
那就要看你的数据产生是否绝对快于数据存储。
如果是,那你就要另外想办法,不要同步入库和显示。

如果是偶尔突发造成壅塞,可以将数据库更新采用 SQL 命令方式,这样就把命令丢给了数据库引擎,使之排队异步实现。
liang80318 2007-08-12
  • 打赏
  • 举报
回复
COM设备一旦开启后,会不停的向COM口传递数据,如何有数据就写,机器反应不过来
不知道你这个是做什么用的,我做过地磅软件,数据可以有有一定的延时,你能说的具体一点

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧