监控程序在某一端口监听数据,每次发送8组定长的字符串,接收到数据后,将数据中指定位置的值取出,跟数据库中相应的表比对是否存在相应的记录,(需要用到3个数据表,单数据表中记录不操作3000条),如果存在则将数据库中该条记录显示到datagridview中现在我的操作方式是,窗体加载先将数据库中数据放到ds中,同时建立3个临时datatble用于存放和监听对应的数据,当接收到一条数据后,先遍历原始ds中记录,如果存在则提取该表中的这条记录存放到datatable中,如此不停的遍历追加记录,监听数据的发送间隔为4秒,请问采用这种方式合理吗?有没有什么好的办法?再问:数据绑定到datagridview时,需要对相应的值进行转换(该值如何转换不取决于数据库,数据库中为初始值,根据监控发过来的值进行转换),性能方面是对内存中的ds直接操作要好,还是使用控件的cellformatting或rowadded事件好一点(ds中数据量为3000条,4秒刷新一次数据)
希望有经验的同仁能予以解答,谢谢