首先感谢一下using MySql.Data.MySqlClient;
这个接口让我的工作效率起码高了90%,因为我对数据库的访问操作基本都是靠它来实现了,我之前还打算自己写数据库驱动,按照那个JDBC的驱动程序写,但是看了网上大神们的高见,想想还是算了吧,要不然项目还没完,我就被饿死在路上了。
做这个项目是一个监控系统,应用MYSQL数据库,我的工作就是编写一个C#小软件对数据库进行配置,其实这个工作完全可以由WEB那边写的,但是不知道为什么分配到我这里,我负责后台通信的啊,新来的就是要被欺负,真心苦命啊啊啊啊!
言归正传,我还是可以抵抗压力的,因为这也是个机会,学习的机会啦,而且有机会看老鸟们的代码,嘻嘻,他们以前开发过相似版本的软件。
首先,开发之前,看了数据库,看了数据库的设计以及基本的SQL语句,用了1天的时间消化了那些暂时还不是很认得的各种语法,第二天上班,发现昨天看的基本忘掉了70%,,好吧,还是继续看,看老鸟写的软件,一打开老鸟的代码,,各种超级规范的写法,小鸟瞬间被震撼了。
首先,老鸟把函数定义分类好,有专门封装成数据操作的,语言控制的,还有数据定义类。这样,操作数据库的时候,数据定义---数据操作---数据控制都一一错开,引用起来超级爽,当然这样体现了他二十年的代码功力啊。还有就是代码压缩,我看到一个函数,平常我写的话,估计要起码二十行左右吧,但是老鸟5行怒过之,一个函数一个递归,那天我深深受伤了,是被震伤的!
后来消化了两天的代码后,第三天正式开工,首先实现了数据库连接,然后再实现EXCEL数据表格的载入,再实现了EXCEL表格数据的检查报错功能,这个时候,我正要准备下决心把数据保存到数据库,o(︶︿︶)o 唉,七夕到了,结果一个人在公司过,好忧伤,就没心情做了。想想以前大学四年都是这么过的,但是工作之后还这么过,太惨了,发一首诗给以前的某位好友,结果对方说了一句“你知道这首诗的意思吗。。。。。不要乱用”,瞬间崩溃了,估计我下次再也没有勇气说话了。
周一回来继续开工,其实最近喉咙发炎一直不在状态,所以项目一直进展比较慢,周一处理把数据保存到数据库,一直报错,后来发现原来是存储次序不对,一定要记得把外键数据先存到数据库,要不然无法索引到这个外键,后来又出现了一个错误,就是存完了之后,需要保存,测试的时候发现一直没东西进来,问了一下老鸟。老鸟立马回复说,我猜小伙子你忘记commit();果然,一言惊醒梦中人啊!
初步把数据保存到数据库,就开始考虑把数据按照分区细节保存,这里我采用了按照时间分区的方法用Range分区引擎来做,不过有一点要注意的时候,对于分区块不能引用外键的。经过两天奋斗,终于分区保存功能实现了。
整个开发工程经过了两周时间,一个小小的软件诞生了,被嘲笑过,也被赞赏过,总之学到甚多~!