[置顶] 学生管理系统验收出现的问题及解决方法


 学生管理系统是8月5号师傅给验收的,从中出现了很多的问题,让我措手不及,现在记录下来,让大家看看并且希望能共同进步。

     学生管理系统验收错误

一:类型不匹配

数据类型的问题:学生管理系统对数据类型要求:限制数据的大小和类型

      

  方法一:可以在SQL中直接改

方法二:可以在text中的属性maxleng中更改

下面是查到的一些属性一般看看,就可以用了

 

第一类:字符型的数据

第二类:数值型数据

第三类:二进制数据类型

第四类:日期和时间类型

第五类:其他类型

  二、不该为NULL的值,如何在SQLserver2008 中修改

再看看上面的SQL设计图中,还可以看到有NULL值。

一般来讲,是要对它进行限制的,不能为空的,就要将对号勾掉。

  三、子窗体和一般的窗体有区别吗?

      应该拿到这是系统代码时,大家就注意到了有的窗体是子窗体有的不是。那么有什么区别吗?

      子窗体必须在窗体中,不能独立的在窗体外面。当你打开很多的窗体后,关闭时,就会发现,不是子窗体的需要单独关闭。

       这个问题的解决办法就是,将所有的窗体的MDIfrm属性都为false.

       然后编写程序时,加一个确定关闭,并将所有的窗体都关闭。

     代码如下:

  

Private Sub MDIForm_QueryUnload(Cancel As Integer, UnloadMode As Integer)
    Dim res As Long
    res = MsgBox("确定要退出吗?", vbYesNo)
    
    If res = vbNo Then
        Cancel = 1 ' 退出
    Else
        Unload frmAddclassinfo
        Unload frmAddcourseinfo
        Unload frmAddresult
        Unload frmAddsinfo
        Unload frmAdduser
        Unload frmAdduser
        Unload frmSetcourseinfo
        Unload frmInquireresult
        Unload frmInquiresinfo
        Unload frmModifyclassinfo
        Unload frmModifycourseinfo
        Unload frmModifyresult
        Unload frmModifysinfo
        End
        
    End If
    
        
End Sub

  这里为了窗体的美观就要将窗体出现的位位设定到中间:

这2步是不可以颠倒位置的

 

四、数据库中删除了一个确认密码

    在数据库中点击“表"中的”user _info“ 右击设计,将其中的”user-de“删除,,如果不让修改可以在SQL Server2008 中的”工具“——”选项“——”designers“——”表设计器和数据库设计器“——”组织保存要求重新创建表的更改“

 

 

五、text里面的东西,窗体重新打开时,全部清空

     但是不能再form—load中编写。

Private Sub addcinfoMenu_Click()
  With frmAddclassinfo    '这个用form——load是不可以的
    .txtClassno.Text = ""
    .comboGrade.Text = ""
    .txtDirector.Text = ""
    .txtClassroom.Text = ""
  End With
  
  frmAddclassinfo.Show
End Sub


一般来讲,是不能在frmaddclassinfo窗体中直接就清空,根据断电调试,必须在frmmain窗体中进行编写。

六、cmobobox有一个属性就是上style当它的值是2或者vbcombodrop-downlist时,就是只能选,不能往里面写了。

但是又会遇见另外一个麻烦:

我给的建议是:将combo的style值是0,给一个东西,提示一下填写的人,让他们只选不写。

七、类型不匹配的问题

一般来讲,这个问题就是类型没有设正确,还有一种情况就是,代码错了

    If Check1(1).Value Then
        If Trim(txtName.Text) Then
            smeg = "姓名不能为空"
            MsgBox smeg, vbOKOnly + vbExclamation, "警告"
            txtName.SetFocus
            Exit Sub
        Else
            dd(1) = True
            If dd(0) Then
                txtSQL = txtSQL & "and student_Name='" & txtName.Text & "'"
            Else
                txtSQL = txtSQL & "student_Name='" & txtName.Text & "'"
            End If
        End If
    End If

好的,看看,其实答案很简单就是第2句:

If Trim(txtName.Text) = "" Then

因此一定要看好你的代码

八、弹出的窗体一定要设置好它的焦点。

   这个焦点一定是有一定顺序的,属性窗体中设置tabstop和tabindex就行了

九、点击回车就是确定

      解决方法就是command的属性里面有一个default中将false改为true就可以了。

 


 

.

原文地址:https://www.cnblogs.com/itbole/p/3263826.html