数据库视频看完后,就开始实际操作红皮书上的五个例子。例子做完后,心急的就开始了学生信息管理系统,直
接导致学生信息管理系统做的断断续续。一边做着学生信息管理系统,一边还得惦记着五个例子。
结果,学生信息管理系统战线拖了长达两个星期。中间既有英语的学习,还有数据库例子的总结。虽然都完成了
,但是感觉这样不好。所以下次,一定要做完一件事后再去开始下一件事儿。
还有在敲系统的时候,犯了一个大错,就是一次性的敲完了所有的窗体,之后再调整界面调试错误的。结果出了
错开始都不知道去哪儿找,再说,各个窗体之间肯定是有关联的。一个窗体错误,可能导致好几个窗体受影响,因此
一定要记住,下次做程序的时候,一定要敲完一个窗体,调试一个窗体,调试好后在进行下一个窗体。
做学生信息管理系统的过程中解决了几个比较重要的问题:
一:数据库连接问题。
系统做完了,打包好了,自己也测试好啦。在自己的电脑上反复测试后没有问题啦,之后,去机房的电脑上测试
结果,结果数据库都连接不上。
还以为是机房的电脑没有网,所以不能访问数据库呢,后来在同学电脑上测试,也照样连接不上。再次在自己的
电脑上测试,还是没有问题。最后知道远程访问计算机时,连接数据库不是自己的电脑名称,是电脑的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 '上下居中
第二次验收的时候,就没有什么问题啦。呵呵。
学生信息管理系统。暴露了很多的问题,认识了很多的不足。从中学习了很多,收获了很多。