问题描述
大家好,我开发了一个Winform程式,会每3个小时去跑,读取机台上的档案。现在遇到一个问题,如果一个栏位(镜头编码)的值相同,则取最新的一笔数据!例如镜头编码0001,2点检测一次,3点监测一次,则取3点的数据写入DB;现在的问题是,我要先读取档案的资料,暂存在DATATABLE,然后从DATATABLE中判断是否有同一个镜头编码,如果有则保留最新的一笔。然后再从DB捞出之前写入的数据,看是否存在相同的镜头编码,如果存在,则把之前的该镜头编码的数据删除。此逻辑相当繁琐,循环判断,速度很慢,各位是否有更好的方法!?谢谢!
解决方案
解决方案二:
如果你每天只有一条记录的话,那就第一次insert一条,后面都是update这一条就是了,条件是日期,或者你自己的规则
解决方案三:
因为是3个小时读一次档案,而且机台的档案同一天都是写在同一个TXT档里,所以例如3点读的档案有100笔记录,6点读的档案有之前那100笔和3点到6点新增的记录。因同一个档案记录数以千计,并非只有一条!
解决方案四:
引用1楼bdmh的回复:
如果你每天只有一条记录的话,那就第一次insert一条,后面都是update这一条就是了,条件是日期,或者你自己的规则
因为是3个小时读一次档案,而且机台的档案同一天都是写在同一个TXT档里,所以例如3点读的档案有100笔记录,6点读的档案有之前那100笔和3点到6点新增的记录。因同一个档案记录数以千计,并非只有一条!
时间: 2024-09-16 00:45:49