学生信息系统---优化

原创 2016年06月01日 20:34:11

   在验收的时候师父提出了好多问题,程序运行没有Bug是远远不够的,我们作为一个软件开发人员,要站在用户的角度思考问题,我们做出来的东西要方便用户的使用,而不是我们会用就行,所以我们要对我们的系统进行不断地优化。

 

一、防止SQL注入

   师父在验收的时候在登陆界面的用户名中输入了“ ’ ”,然后登陆就出现了”91”的错误,这就出现了SQL注入的问题

什么是SQL注入(百度百科里关于SQL注入的解释、攻击和预防)

在现阶段,我想出的解决办法是,用键盘事件来使这个键输入时弹出警告信息,代码如下

   

PrivateSub txtUserName_KeyPress(KeyAscii As Integer)
   If KeyAscii = 39 And 33 Then
        MsgBox "是非法字符,请输入合法字符!", vbOKOnly + vbExclamation, "警告"
        txtUserName.SetFocus
        txtPassword.Enabled = False
   Else
        txtPassword.Enabled = True
   End If
   
End Sub

二、Combobox只能选择不能输入,且有默认项

   在我们使用一些软件,添加个人信息是可选择的项都是有默认值的,这样就为用户带来了便捷

1.讲combobox属性框的Style 属性设为2-Drop down list

2.在代码中添加(设置第一项为默认值)

<span style="white-space:pre">	</span>If comboSex.ListCount > 0Then  
    <span style="white-space:pre">		</span> comboSex.ListIndex = 0
  <span style="white-space:pre">	</span>End If

三、优化窗体大小

   窗体有子窗体和主窗体,子窗体应该把最大化和最小化窗体的按钮去掉,因为子窗体是在主窗体里面的,所以应该最大化最小化。这个只需把Maxbutton和Minbutton的值改为false即可。而且子窗体不能改变大小,所以我把窗体都设为固定大小,则设计时为多大的那么运行出来就是多大的。

四、在添加日期时添加日历控件

   因为如果让用户自己输入日期,那么就会出各种各样的错误,可能是格式错误可能是输入的额日期不合法,所以我们添加一个日历按钮就会省好多事,用户添加方便,我们写代码的时候也可以简化,就不用写那么多验证的代码了。

1.在部件中添加Microsoft Windows Common Controls-2 6.0 如下图


2.添加MonthView控件


3.代码中写

Private SubMonthView1_DateClick(ByVal DateClicked As Date)
   txtRudate.Text = MonthView1.Year & "-" &MonthView1.Month & "-" & MonthView1.Day
   MonthView1.Visible = False
End Sub
 
Private Sub txtRudate_Click()
   MonthView1.Visible = True
End Sub


五、表格MSHFlexGrid去掉第一行

    在源码中固定了两行,这是没有什么用的。

     1.在右击—属性—将固定行改为0,还有就是将行设为1,否则就会有空行;

     2.代码中修改(原来的值)

<span style="white-space:pre">	</span>With myflexgrid
            .Rows = 1(2)
            .CellAlignment = 4
            .TextMatrix(01, 0) = "考试编号"
            .TextMatrix(01, 1) = "学号"
            .TextMatrix(01, 2) = "姓名"
            .TextMatrix(01, 3) = "班号"
            .TextMatrix(01, 4) = "课程名称"
            .TextMatrix(01, 5) = "分数"
        End With


六、在修改密码时,要求验证原密码,防止自己的账户被别人修改密码,导致自己无法访问

如图所示

 

代码如下:

Private Sub cmdOK_Click()
  Dim txtSQL, MsgText As String
  Dim mrc As ADODB.Recordset
  Dim ctrl As Control
  '判断是否为空
  If Trim(txtPassword1.Text) <> Trim(txtPassword2.Text) Then
     MsgBox "两次密码输入不一致!",vbOKOnly + vbExclamation, "警告"
     txtPassword1.SetFocus
     txtPassword1.Text = ""
   Else
     txtSQL = "select * from user_info where user_ID='" &UserName & "'"
     Set mrc = ExecuteSQL(txtSQL, MsgText)
     
     If Trim(txtPassword3.Text) <> Trim(mrc.Fields(1)) Then
        MsgBox "原密码输入错误,请重新输入!", vbOKOnly + vbExclamation, "警告"
        txtPassword3.SetFocus
        txtPassword3.Text = ""
        txtPassword1.Text = ""
        txtPassword2.Text = ""
     Else
        mrc.Fields(1) = txtPassword1.Text
        mrc.Update
        mrc.Close
        MsgBox "修改密码成功!", vbOKOnly + vbInformation, "修改密码"
        Me.Hide
        txtPassword1.Text = ""
        txtPassword2.Text = ""
        txtPassword3.Text = ""
   End If
 
End If
End Sub


七、在修改密码时,提醒用户当前登录的用户是哪个,防止给别的用户修改密码

如图所示

代码如下:

Private Sub Form_Load()
   Dim txtSQL As String
   Dim MsgText As String
   Dim mrc As ADODB.Recordset
   Dim name As String
   
   txtSQL = "select * from user_info where user_ID='" &UserName & "'"
   Set mrc = ExecuteSQL(txtSQL, MsgText)
   
   name = Trim(mrc.Fields(0))
   Label4.Caption = "当前用户名为:" &name
       
End Sub


八、修改信息时 ,当数据无记录时添加提醒。

   如果删除最后一条记录在点那八个命令按钮就会报错,我在八个命令按钮的代码中都添加了,如果查询无记录就提示没有记录,否则就执行原来的代码。这样代码量就变多了,有好的解决方法可以交流哦!代码比较多但是比较简单就不粘到这里了。

九、在添加课程信息时,防止添加重复信息

   按着源码敲完运行的时候,发现只要按设置课程就会出来重复的课程,在添加课程的时候如果一直点也会一直加,这样的系统是不行的。我自己调试的时候就发现了这个问题,当时就想这个系统设置的不好,却没有想我是这个系统的设计者,因为参照了源码写的就觉得不是自己的东西,明明发现了这个问题却不去想办法解决说明,这个学习态度和积极性还是不够的。不讲究才是发想的原动力,不能因为懒得弄而将就,否则谁还用我做的软件呀。

代码如下:

   防止添加课程的时候添加重复课程

   防止设置课程时,加入重复的课程

十、输入数字的文本框输入别的字符就会提示

    像学号只能输入数字,如果输入别的就会弹出提示,代码如下:

Private Sub txtSID_KeyPress(KeyAsciiAs Integer)
 
   If KeyAscii = 8 Then
   Exit Sub
 
        Select Case KeyAscii
   
            Case 48 To 57, 8, 13
   
            Case Else
   
            KeyAscii = 0
   
        End Select
   Else
        MsgBox "学号请输入数字!"
   End If
  
End Sub


   总结:我们是软件的设计者所以我们应该站在用户的角度来考虑问题,要将软件设计的方便于用户,而不是通过约束用户来达到想要的效果。这是我们接触的第一个完整的系统,所以我们可以从这个系统中学到怎样站在用户的角度思考问题。

版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

学生信息系统---优化

在验收的时候师父提出了好多问题,程序运行没有Bug是远远不够的,我们作为一个软件开发人员,要站在用户的角度思考问题,我们做出来的东西要方便用户的使用,而不是我们会用就行,所以我们要对我们的系统进行不断...

学生信息管理系统优化

1·vb中text输入时tab跳转到下一个text 设置text1的tabindex属性值为0,text2的tabindex属性值 为1即可   2·VB的程序窗口固定大小 更改窗体的BorderSt...

我是如何成为一名python大咖的?

人生苦短,都说必须python,那么我分享下我是如何从小白成为Python资深开发者的吧。2014年我大学刚毕业..

学生信息管理系统优化

我们在

【VB】学生信息管理系统优化总结

学生信息管理系统优化。

学生系统优化

0.窗体布局    '设置窗体的大小和位置     Me.Width = 7600     Me.Height = 6700     Me.Left = Screen.Wi...

学生信息系统之优化(二)之日期问题

6.日期问题        为了使程序更加完善,用户使用更加方便,在有关日期的设计上,我们更建议使用控件,方便用户对日期进行自由选择。针对这一问题,VB中有两个常用的日期控件,分别是DateTimeP...

《学生信息管理系统》优化完工!!!!!

用了两个星期的时间,终于把系统写完并优化到了自己满意的地步。          敲这个系统,后期优化得到了很多人的帮助,盖丽男,周洲,曹学亮...非常感谢我的朋友们......     ...

学生信息管理系统优化问题汇总

学生信息管理系统已经整理了很长时间了,在这几天一直在整理

学生信息管理系统之优化

一直迟迟没有写优化总结,一是自己老是拖延,二是觉得大家都写的东西就不值得一写。        不过后来一想,别人的东西再好也是别人的;自己的再不好也是自己的。所以还是决定把没有做完的工作做完!没有总结...

学生信息管理系统优化(一)

任何的系统在完成之前必须得优化,首先你的保证你做出来的软甲得没有正常的逻辑问题,还得提高用户体验,让别人用着比较舒服对吧!     下边我为大家分享一下我的优化心得! 1.登录界面     首先你的保...
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)