欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

机房完结篇

程序员文章站 2024-02-04 19:43:52
...

做着做着这个大一点的项目就被我做完了。

从开始的不知从何入手,到后来的对大多数问题应对自如,这个过程只有自己亲身体会过了才能深刻感受到自己真的学到了不少。

既然是完结篇,我就总结一下完成之前做的最后的工作吧:

1、创建MDI窗体。

一开始没有意识到这个问题,最后优化的时候加上MDI窗体发现子窗体都出不来了。原来只是被MDI窗体上的picture给挡住了,想办法把子窗体显示在图片上就行了:

模块定义:

Public Declare Function SetParent Lib "user32" (ByVal hWndChild As Long, ByVal hWndNewParent As Long) As Long
Main窗体:
frmModifyuserinfo.Show
SetParent frmModifyuserinfo.hWnd, Picture1.hWnd

2、金额动态查询

上机过程中卡里的余额扣完了怎么办?还在上机?必须得强制下机啊

技术点:添加Timer控件

                设置其Interval属性为65535(最大只能是65535,表示一分钟执行一次timer的事件)

                在timer的timer事件中添加查询余额和余额不足下机代码 (有了之前的基础,最后优化的时候这点代码太简单了)

3、修改了密码还在登录着,肯定也不行。

      Unload frmMain
      frmLogin.Show

4、删除用户也不能删除自己正在登录使用中的用户啊

我的解决办法是查的时候就不显示自己正在使用中的用户

 & " and userid<>'" & UserName & "'"
5、获取服务器时间。因为系统时间谁都可以随便更改,所以我们在获取时间的时候需要或许服务器的时间。

添加一个timer控件

Private Sub Timer3_Timer()
Dim cnn As New ADODB.Connection
Dim cmd As New ADODB.Command
Dim rst As New ADODB.Recordset
Dim Sqlser_time
cnn.ConnectionString = "FileDSN=charge;UID=sa;PWD=123456"
cnn.Open

cmd.ActiveConnection = cnn
cmd.CommandText = "SELECT GETDATE() AS sys_Sqlser_time"

Set rst = cmd.Execute

Sqlser_time = rst(0)

lalTime.Caption = Sqlser_time
rst.Close
cnn.Close
End Sub

这些问题肯定存在,但我的办法不一定是最好用的,大家有更好的方法可以交流沟通啊!


机房就是开始的时候觉得不简单,因为算是第一次尝试自己动手动脑,但不惧它一步一步的走下来,遇见问题了就解决,到最后发现没有自己开始想的那么可怕。以后的我们也应该不惧困难,迎难而上,最后才能收获胜利的果实。