学生信息管理系统经验总结

 

 

       数据库视频看完后,就开始实际操作红皮书上的五个例子。例子做完后,心急的就开始了学生信息管理系统,直

接导致学生信息管理系统做的断断续续。一边做着学生信息管理系统,一边还得惦记着五个例子。

 

       结果,学生信息管理系统战线拖了长达两个星期。中间既有英语的学习,还有数据库例子的总结。虽然都完成了

但是感觉这样不好。所以下次,一定要做完一件事后再去开始下一件事儿。

   

       还有在敲系统的时候,犯了一个大错,就是一次性的敲完了所有的窗体,之后再调整界面调试错误的。结果出了

错开始都不知道去哪儿找,再说,各个窗体之间肯定是有关联的。一个窗体错误,可能导致好几个窗体受影响,因此

一定要记住,下次做程序的时候,一定要敲完一个窗体,调试一个窗体,调试好后在进行下一个窗体。

          

 

 

       做学生信息管理系统的过程中解决了几个比较重要的问题:

 

       一:数据库连接问题。

 

       系统做完了,打包好了,自己也测试好啦。在自己的电脑上反复测试后没有问题啦,之后,去机房的电脑上测试

结果,结果数据库都连接不上。

 

       还以为是机房的电脑没有网,所以不能访问数据库呢,后来在同学电脑上测试,也照样连接不上。再次在自己的

电脑上测试,还是没有问题。最后知道远程访问计算机时,连接数据库不是自己的电脑名称,是电脑的ip地址。

 

      改好后,再一次安装在学校电脑上,非常肯定这次一定能连接上,结果很让我失望,找了好多的资料都没有解决

后来请师父帮忙解决,哎呦,就是把电脑上的安全防护给关闭。。。。。。。结果就进去啦。。。

 

      别的电脑访问我电脑上的数据库肯定是违反了安全。就被拦截了所以,就没有登录上去。。异地访问数据库时,

一定要关闭电脑上的安全防护。

 

            

    
      二:第一次验收问题。

 

        1,窗体标题没有更改,有个还是form1。

        2,list列表框只能选不能填。

        3,msgbox 提示框,当提示成功操作时,不应再是叹号提示。

        4,每个窗体弹出时,大小比例要适当、位置要一致。

        5,判断密码一致不一致,不应该再用trim函数。

        6,设置msgbox提示后,要卸载窗体,要么,就处理一下,清空之前的操作。

        7,文本框输入要加上限制,限制输入字符串的长度。

        8,有父窗体,其余的都应为子窗体。

 

        这次犯得错,都是非常低级的错误。只要用点心,就能避免。不要忽视这些小细节。细节决定成败。

 

 

      三:二次更改问题。。

 

         上面的问题很容易解决,其中在改list列表框的style时。遇到了一些麻烦。

             

         要想使list只能选择下拉列表框里的内容,只能将其style属性值设置为2。但是这样在运行时报错,提示说Text

属性只读。寻找原因,结果是在代码中对list赋值啦(call ViewDate)。在viewdate中,将recordset对象objrs记录集中

的值赋给了list.text。这样和style只读属性冲突。

 

         问题解决:定义一个函数,返回combo控件中对应字符串的索引值。

 

'*************************************************************************
'**函 数 名:GetIndex
'**输    入:combo(ComboBox)        -
'**        :ByVal strValue(String) -
'**输    出:(Integer) -
'**功能描述:返回combo控件中对应字符串的索引值
'**作    者:李双喆
'**日    期:2012-08-21
'**修 改 人:
'**日    期:
'**版    本:V1.0.0
'*************************************************************************
Public Function GetIndex(combo As ComboBox, ByVal strValue As String) As Integer
    Dim index As Integer
    
    If combo.ListCount <= 0 Then               '如果没有内容,则返回-1
        GetIndex = -1
        Exit Function
    End If
    
    For index = 0 To combo.ListCount - 1       '遍历整个列表框
        If Trim(strValue) = Trim(combo.List(index)) Then
            GetIndex = index
            Exit Function
        End If
    Next
End Function


 

             赋值时,就直接调用函数。

 

cmbGrade.ListIndex = GetIndex(cmbGrade, m_rstclassinfo.Fields(1).Value)

 

           这样还会出现一个问题,如果,在窗体load时,list列表框中,没有加载内容,程序运行时,照样会出错。因此

要在load事件中,加载list 内容。

 

  

          还有,在将其他窗体该为子窗体后,窗体的startposition是无效的。那么怎么让窗体居中显示呢。。

 

          解决方法:属性不能设置,那就写两行代码吧。

 

Me.Left = (Screen.Width - Me.Width) / 2       '左右居中
Me.Top = (Screen.Height - Me.Height) / 2      '上下居中


 

 

          第二次验收的时候,就没有什么问题啦。呵呵。

 

 

           学生信息管理系统。暴露了很多的问题,认识了很多的不足。从中学习了很多,收获了很多。





你可能感兴趣的:(数据库,list,function,String,测试,Integer)