经过漫长的时间才将这个项目完结,虽然有疫情吧,但是想了想这个并不能成为自己拖延的理由,对于自己这个项目以及以后的项目只能快马加鞭了。
个人感觉
我从这个项目得到的经验就是对于完整这个项目(或者其他的)我们应该先想出他是怎么运作的,要把他的运作逻辑想清。在进行代码编辑。就例如这个项目最大个难点,也就是数据的组合查询,只有将这个数据组合查询的难点攻克了,那么自己很快就会全部解决这个程序。
个人建议先将机房收费中的基础数据表格想清并写出来,这样学生才能上下机,才能够正常使用一般用户的功能。进而实现其他的功能。
知识点&注意事项&存在的问题
1.数据库方面
- 对于数据库来说xx表中的金额类型时numeric。numeric(18.3)表示这个数据总共有18位其中有3位是小数点后的位数。
-
student表中有一个数据的长度是11位并非是10位,这样会导致“多步ole db操作产生错误”,改完该数据长度后,需要将相关的表格的字段长度也进行更改。
-
对于同样是数据长度的注意事项应该是。首先查看数据库中的数据长度,在敲代码的第一件事就是设置窗口中字符的长度。
2.对于登录窗体以及主窗体来说
- 这个注意事项也使用与其他的窗体。。。在打开窗体时要让他以固定的大小出现,尽量以将全部控件显示出来为最佳大小,若是不想让窗体被放大,可以设置他的maxbutton属性,但是mdi的父窗体没有maxbutton属性,这个时候就要用别的方法来设置了
Private Sub mdiform_load()
ww = Me.Width
hh = Me.Height
End Sub
Private Sub MDIForm_Resize()
If Me.WindowState <> 0 Then Me.WindowState = 0
Me.Width = ww
Me.Height = hh
End Sub
但是有一个缺点就是这个窗体没有办法缩小了只能摆放在那里。
- 主窗体上机时可以通过卡号的charge事件来显示该卡号的其他数据(黑框中的数据直接显示出来)
-
当前人数上机来说,可以通过添加一个时钟,通过他的timer事件来不断的刷新上机人数。
3.学生查看余额
- 该窗口可以跟主界面一样通过卡号的charge事件来实现数据显示。
-
查看上机记录时,有一个显示数据的通病就是,如果进行数据的查询,应该将之前数据进行清除,在重新出现所查询的数据。但是删除数据后重新查询出的数据量是比上一次的数据少的,那么就会有空白行的出现,这个问题虽然不是个小问题,但是也需要解决的
4。修改密码,注册窗体
- 修改密码时需要重新登录,那么登录窗体的密码需要清空,让用户重新输入
- 注册窗体界面可以将查找控件删除,只留下清空存盘和退出,若是担心有重复的话可以选择在存盘时进行判断,数据库中是否存在,若是存在可以将卡号清零其他输入的文本保存。
5。充值金额和退卡窗体
-
充值金额和退卡有同样的操作就是清楚信息时应将界面上所有的信息清楚。显示信息的控件上不应让用户自己输入,注意金额类型的转换,用户输入的是文本类型,但是代码中应使用数值型
-
该卡号在上机的状态时是不能退卡的,防止计算的金额不对。
-
由于一个学号注册一个卡号,所以退卡后若是想使用只能重新注册
6。收取金额和返回金额界面&学生基本信息维护和操作员工记录界面
- 起始日期不应超过终止日期,终止日期不能超过系统当前日期。
-
学生基本信息维护和操作员工记录 组合关系哪里需要将用户输入的文本转换成代码语言的具体操作点击这里
7。剩下的窗体
- 结账界面对于选中操作员用户名后可以自动填充其真实姓名。
-
添加或删除用户,要设置当前登录的用户不可以删除,
-
删除用户时应设置用户没选中要删除行时默认删除哪一行数据,或者提醒用户没有选中要删除的数据。
-
正在值班的老师界面应该没有一般用户的查询,对于其他用户的查询,可以判断他们的下机时间是不是空值,若是空值,代表还在值班。
-
周账单界面,老问题两个日期的注意事项
-
个人存在一个问题就是账单刷新显示后并不是将之前查询的数据删除,反而是接着上回查询的数据换行显示,如下图。
以上就是我总结的注意事项和尚未解决的问题,希望自己下一回重构的时候能将这篇博客中的问题全部解决并注意该注意的事项。