在敲学生信息管理系统中遇到的问题及解决方法

不怕不知道,就怕不知道。

顾名思义,意义非同一般。前一句为不怕不知道问题的解决方法,后一句为就怕不知道没有问题。其实没有问题才是最大的问题。

几天时间就敲完了学生信息管理系统了,心里那个舒坦,差距缩小了,可谁知这只是一个骗局,就算是照着源码敲的一个字母也不错,那离你敲完还远着呢,这只是一个豆腐渣工程。主要原因有以下几点:

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)

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 12
    评论
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值