前言:学生系统从大体上讲已经基本结束,对于代码已经逻辑关系已经有了一定的了解,下面的思维导图请大家借鉴学生的正确敲法:
学生中应该按照这样一步步的来,首先应该想明白数据的原理以及使用,然后确定好大致关系后才可以敲,因为战略上的错误会导致你非常的后悔,这个图是按照学籍表一个个数据库以及窗体进行开来的
一、 BOF和EOF用法
一)
|EOF |BOF
|True 当前行的位置是在最后一行的后面,无记录 |当前行的位置是在第一行之前,无记录
|False 当前行的位置是在最后一行或其前面,有记录 |当前位置是在第一行或其后,有记录
二):说明
1. BOF:指当前记录位置位于Recordset对象的第一个记录之前
2. EOF:指当前记录位置位于Recordset对象的最后
布尔型:
1. 定义:布尔常量值True赋值给一个整型,则整型变量的值为(-1)
2. 规定:
将整型或长整型赋值给布尔变量时,0-->false,非0-->true
将布尔变量赋值给整型或长整型时,false-->0,true-->-1
二、 调用数据库的两种办法:
A.
txtsql = "select*from class_info"
Set mrc = ExecuteSQL(txtsql, msgtext)
For i = 1 To mrc.RecordCount
comboClassno.AddItem mrc!Grade
mrc.MoveNext
Next i
mrc.Close
B.
'txtsql = "select*from class_info"
'Set mrc = ExecuteSQL(txtsql, msgtext)
'While (mrc.EOF = flase)
'comboClassno.AddItem mrc!Grade
'mrc.MoveNext
' Wend
'mrc.Close
三、调试
一)小结:需要改正的地方
1. 学籍管理中查询不能用姓名查询,但是可以去掉姓名查询
2. 课程设置中因为数据库中的调用不对,在所有课程中出现班级,但是需要修改数据库
3. 成绩查询中添加成绩中很多的数据库需要统一到一个表中,因为有联系无法串通,需要重新做数据库
二)小结:经典代码
1. '使enter案件代替确定按钮的方法
Private Sub Form_Load()
cmdOK.Default = True
End Sub
2. 设置参数:
Private Sub txtSID_KeyPress(KeyAscii As Integer)
Select Case KeyAscii
Case 8
Case 48 To 57
Case Else
KeyAscii = 0
End Select
End Sub
3. 设置只能输入数字:
Private Sub txtTel_KeyPress(KeyAscii As Integer)
If KeyAscii < Asc("0") Or KeyAscii > Asc("9") Then
KeyAscii = 0
Beep
End If
End Sub
总结:
学生我的第一感觉就是多了几个窗体的百例,慢慢的习惯了调bug调到头疼的感觉,幸亏有师傅的存在让我提早脱离了舒适区,我的学生系统经历的很长时间,但是我想收获也是很多,经历一次收益周五吧,下面分享断点调试的理解:
断点调试:执行中有错误,然后再指引错误处点红,然后可以按F8执行,然后鼠标放哪哪里会出现实时代码,并且执行中可以跳过当前的代码,正在理解加深中望同僚多多提出解答。