不怕不知道,就怕不知道。
顾名思义,意义非同一般。前一句为不怕不知道问题的解决方法,后一句为就怕不知道没有问题。其实没有问题才是最大的问题。
几天时间就敲完了学生信息管理系统了,心里那个舒坦,差距缩小了,可谁知这只是一个骗局,就算是照着源码敲的一个字母也不错,那离你敲完还远着呢,这只是一个豆腐渣工程。主要原因有以下几点:
1、此系统有记录的时候可以使用,但是当没有记录时该怎么处理
2、删除记录时同样会报错,删除最后一条使记录为空后该怎么处理
3、修改记录中书签的使用
4、在不退出窗体时,修改信息时往往会没点一次修改就多加载一次,尤其是ComboBox该怎么处理
对这些问题,我简单答一下以供参考:
问题一:没有记录时应先添加
'无记录时提示先添加
txtSQL = "select * from class_Info"
Set mrcc = ExecuteSQL(txtSQL, txtMsg)
If mrcc.BOF And mrcc.EOF Then
MsgBox "班级为空,请先添加班级信息"
Unload frmClassChange
Else
frmClassChange.Show
End If
问题二:分情况,记录数多于一条和记录数等于一条时
CourseDelete = MsgBox("确实要删除记录吗?", vbYesNo, "删除课程信息")
If CourseDelete = vbYes Then
txtSQL = "select * from course_info"
Set mrcc = ExecuteSQL(txtSQL, txtMsg)
'记录等于一条时
If mrcc.RecordCount = 1 Then
mrcc.Delete
txtCourseID.Text = ""
txtCourseName.Text = ""
txtCourseDes.Text = ""
myCombo.Text = ""
MsgBox "没有记录,请先添加课程信息"
mrcc.Close
Unload Me
Else
'多于一条时
mrcc.Close
myBookMark = mrc.Bookmark
mrc.MoveNext
If mrc.EOF Then
mrc.MoveFirst
myBookMark = mrc.Bookmark
mrc.MoveLast
mrc.Delete
mrc.Bookmark = myBookMark
Call ViewData
Else
myBookMark = mrc.Bookmark
mrc.MovePrevious
mrc.Delete
mrc.Bookmark = myBookMark
Call ViewData
End If
End If
End If
问题三:修改信息后最想看到的是信息是否已经修改完毕,故而修改完后显示的还是这条信息,此时书签就起到至关重要的作用,解决方法:
在EditChange_Click事件中添加书签
myBookMark = mrc.Bookmark
修改完后将其还原
mrc.Bookmark = myBookMark
Call ViewData
问题四:在Form_load里面加载,首先将记录保存在变量中,在清空combobox,在添加保存的变量,最后显示出来
intString = ComboClassNo.Text
ComboClassNo.Clear
ComboClassNo.AddItem intString
txtSQL = "select * from class_info"
Set mrcc = ExecuteSQL(txtSQL, txtMsg)
While (Not mrcc.EOF)
If mrcc.Fields("class_No") <> intString Then
ComboClassNo.AddItem mrcc.Fields("class_No")
mrcc.MoveNext
End If
Wend
ComboClassNo.Text = ComboClassNo.List(0)