问题描述
我想做这么一个小系统,目前已经定好用C#winform去实现,由于我是新手,请大家多多指教该系统通过网络或串口接收来至远端设备的数据,并把当前收到的数据在winform上显示,只显示最新的500条数据,超过500条,则把最早收到的数据删除掉,问题1:DataGridView能否实现显示最近的500条数据我目前想用DataGridView,不知道能否实现,请大家支招!!!!!!收到数据在UI上显示,同时也要把数据稍微做解析插入数据库中,数据速率还是挺频繁,问题2:一边UI显示与一边插入数据库的问题因为UI更新速度比较快,数据量有点多,我怎么才能保证UI能显示,且数据不丢失的保存到数据库中???问题3:数据库选择问题目前我在数据库选择上很纠结,到底是access还是sqlserver,我想用access,因为即使access不装的话,该软件还是能跑起来,数据也能保存到access中,而sqlserver如果没有装的话,数据是无法保存到数据库中的,不知道我说的对不对,请大家多多指教
解决方案
解决方案二:
可以使用多线程,一个线程负责UI上面的数据显示,另外一个负责往数据库中插入数据。数据不可能丢失的。另外我想说你真的准备直接把软件运行在数据库服务器上?sql不应该用专门的服务器吗?你本地装或者不装有什么关系。
解决方案三:
多线程。。。属于自己造轮子用Task微软帮你搞定了一大堆东西或者用异步语法然而他们的本质都是多线程
解决方案四:
引用1楼dackwind的回复:
可以使用多线程,一个线程负责UI上面的数据显示,另外一个负责往数据库中插入数据。数据不可能丢失的。另外我想说你真的准备直接把软件运行在数据库服务器上?sql不应该用专门的服务器吗?你本地装或者不装有什么关系。
我原先都是把数据保存在txt上面的,有时候要在野外测试,所以连不了网,所有的数据库都是装在本地
解决方案五:
用Task多线程操作每隔一段时间获取一次数据。取到数据后直接添加到数据库中。添加完成后从数据库中获取最新的500条数据显示在DataGridView上即可。按照你的说的。数据量应该不小。所以建议使用sqlserver后期如果有什么新的操作比较方便。