去年的时候,我写过一篇机房收费系统登陆的总结文章,那是站在VB的基础上,直接查询数据库实现的登陆.是很初期的知识.如果想了解详情,请看VB查询数据库之登陆窗体--机房收费系统总结(一). 今天,我要换一个角度,换一个方式,来实现登陆.首先,我选择的开发工具是VB.NET,数据库是SQLSever2008.其次,我用的是三层的思想,把界面,逻辑和数据都分开,减少相互之间的影响.在次,界面层尽量简洁,所有的算法和业务逻辑都写到逻辑层,同时使用了接口和工厂模式以及外观模式,减少了相互之间的依赖,降低了…
经过几天的缝缝补补,自己的个人版最终OK了,!或许是由于有第一次的机房收费系统的经验,这次做,感觉很亲切. 在业务逻辑方面,沿袭曾经的逻辑.做了一点升级.可是修改不大. 在数据库方面,感觉自己从一个小菜鸟在成长.第一次做机房的时候,在数据库方面,仅仅会"insert ,delete ,update, select",基本上是靠着四句话完毕整个机房收费系统的.可是.这次在做的时候,用上了视图和存储过程和一些数据库中的小技巧.在表结构上也比曾经简练了不少,靠着强大的D层的基础,使得上层的编…
重构版个人机房收费系统大概从暑假开学開始进行.花了不到一个半月的时间才完毕.以下对我在重构过程中的一写理解. 1.系统设计一个非常重要的目的就是重用.而要做到重用,低耦合是最有效的手段回想一下我们C/S的整个学习过程,我们能够发现.从開始的VB版的机房收费系统,然后到如今VB.NET版.加设计模式.对系统进行分层.这个过程就是在对系统进行解耦.要解耦,首先就要进行抽象. 把多次.反复用到的代码进行封装.其余的部分运用继承或者多态的思想,来进行使用. 在机房收费系统中我们所涉及到的一些解耦的方式:…
机房收费系统的主窗体是MDI窗体,为了在这个窗体上添加控件,所以我们在窗体上添加了picture控件,在MDI窗体中,子窗体实际上位于MDIClient里,即子窗体的父窗体就是MDIClient,而放置在MDI中的picture控件和MDIClient是同一级别的,由于层次结构,所以无法使子窗体显示在picture控件的上面(这段话出自刘杰师哥的博客).为了将子窗体显示到父窗体的上面,所以我们使用了API函数,就是这个setparent函数(Private Declare Function Se…
最初接触存储过程是在耿建玲老师的视频里,当初仅仅是草草过了一遍.仅仅是有了个印象.知道了这个名词:大二时也有SqlServer数据库这门课,只是老师没讲,自己也没看:真正对存储过程的了解来自于自学考试中的<数据库系统原理>,在考试中,知道存储过程是干嘛的.在纸上怎么写,但从来没有在DBMS中亲手敲过.于是机房收费系统给了我这个机会. 在这里不再过多叙述关于存储过程德基本知识,仅仅写一下在机房收费系统这个小项目中是怎样用到存储过程的. 背景: 机房收费系统中有一个注冊的功能,原型图例如以下:  …
VB.NET第一版机房收费系统,告一段落,验收的时候.问题也是大大的存在,没实用上设计模式,什么触发器.存储过程,都没实用上.看看其她小伙伴的,七层实现登录?那是什么东东,相比較我的三层而言,多了两倍还加个一,通过查资料,看博客.憋了好几天,最终,憋出了一个七仙女---七层实现系统登录.七个女儿,各司其职,完美配合,衍生出众多漂亮的故事. 从三层猛地跳到七层,有种穿越的感觉.说白了就是不会,又是想逃避的感觉,但是人生在世,有的事情不能随着自己的性子来.喜欢了就去做.不喜欢.就不做,没办法.就一直…
机房收费系统中,好多查询的窗体都包含同一个功能:将数据库中查询到的数据显示在MSHFlexGrid控件中,然后再把MSHFlexGrid控件中的数据导出到Excel表格中. 虽然之前做过学生信息管理系统,不过并没有涉及到这个功能,因此记录于此,于己,回顾反思,于大家,分享学习. 方法一:在根目录中事先建立空的Excel表格 1.在与VB工程同一根目录中建立将要导入数据的Excel表格: 2.在VB事件中写代码: Private Sub cmdExport_Click() Dim i As Int…
纵观机房收费系统,判断文本框.组合框为空问题无非两种情况.第一种:判断窗体中所有文本框.组合框是否为空.第二种:判断一部分文本框.组合框是否为空.下面看看是如何实现这两种情况的. 第一种:判断窗体中所有文本框.组合框是否为空. ''' <summary> ''' 判断窗体中所有文本框.组合框输入内容是否为空,若窗体中有允许为空的文本框或组合框, '''则不能使用此函数 ''' </summary> ''' <param name="frm"><…
外观设计模式,<大话设计模式>第103页详细讲解,不记得这块知识的小伙伴可以翻阅翻阅,看过设计模式,敲过书上的例子,只是学习的第一步,接着,如果在我们的项目中灵活应用,把设计模式用出花儿来,才是王道,有人总说,纸上得来终觉浅,绝知此事要躬行,可是真到了躬行的时候,总是行不通,语言倒不过来,设计模式是C#语言的,机房收费是VB.NET版本的,书上的模式和机房联系不起来,不知道怎么应用,没办法,憋呗,看博客,问人,上网查资料,就这样,憋出一个外观,虽不太完美,但却异常宝贵,因为那是我纠结好长时间从…
报表,即报告情况的表格,简单的说:报表就是用表格.图表等格式来动态显示数据,可以用公式表示为:"报表 = 多样的格式 + 动态的数据". 在没有计算机以前,人们利用纸和笔来记录数据. 比如:民间常常说的豆腐帐,就是卖豆腐的每天将自己的卖出的豆腐记在一个本子上,然后每月都要汇总算算,这种情况下,报表数据和报表格式是紧密结合在一起的,都在同一个本子上.数据也只能有一种几乎只有记帐的人才能理解的表现形式,且这种形式难于修改. VB版机房收费系统的报表采用的是第三方的Grid++Report,…