心情随笔20201107

2020-11-07 23:42:33阅读 39评论 0

很多年前,我就在构想一个工具。在一个项目中,操作业务之前,我用这个工具将数据库里的数据保存一个快照。然后再去操作业务,之后再将数据库存一个快照,然后这个工具将两个快照进行对比,告诉我那些表做了修改,这样我就能很快知道这个业务操作了那些表,增、删、改了哪些数据。

后面我去互联网上百度了很久,一直没有找到这样的工具,当时也没想过自己动手,也就不了了之。正好最近有点时间,工作上也特别需要,于是我决定自己做一个。

理了一下思路,大致是这样。先是将数据库的所有表、数据读取出来,再按照一定的格式保存起来,这样就保存了一份快照。再生成快照的时候,继续第一步的操作,但多一步数据对比,然后把这些有差异的数据、表格标注出来。

按照这个思路,我实现了一个类。初始化类时,将数据地址、账号、密码传入,调用快照的方法就能将数据库内的所有数据存放到excel中,再调用另一个快照对比方法,会去读取数据库和之前的excel表,将两者数据进行对比,差异数据用颜色标记,然后重新将带标记的内容写入一个新的excel表格,打开这个新生成的excel表格就可以看到数据库内数据的变化。

这样的实现有几个问题:

1.excel存放数据的能力有限,一个格子最多存放2的15次方减1个字符,数据一旦超过会导致数据失真也会出一些bug

2.只能在编辑器中使用,不能离开编辑器或java环境,使用不方便

要解决这两个问题,就需要脱离excel存放数据,又要脱离java环境,要做出桌面应用。

而要做兼容性好的桌面应用,可选择的语言C++,C#,易语言。不想有太大的学习成本,开始我选择了易语言,但后面发现这个语言的语法太非主流了而且是中文编程,总感觉怪怪的,最终放弃而选择了C#。

还没有评论,来说两句吧