机房收费系统之实时错误'-2147217873(80040e2f)

  下图是机房收费系统中的表Student_Info,列名一一展现:

  在敲“注册”窗体的时候,由于窗体中没有涉及到转账情况、当前用户名以及当前日期和时间,所以代码部分就跳了过去,是这样敲的:

<pre name="code" class="html"><span style="font-size:24px;">txtSQL = "select * from Student_Info"
Set mrc = ExecuteSQL(txtSQL, MsgText)

mrc.AddNew
mrc.Fields(0) = Trim(txtCardNo.Text)
mrc.Fields(1) = Trim(txtSID.Text)
mrc.Fields(2) = Trim(txtName.Text)
mrc.Fields(3) = Trim(ComboSex.Text)
mrc.Fields(4) = Trim(txtDept.Text)
mrc.Fields(5) = Trim(txtGrade.Text)
mrc.Fields(6) = Trim(txtClass.Text)
mrc.Fields(7) = Trim(txtRecharge.Text)
mrc.Fields(8) = Trim(txtExplain.Text)
mrc.Fields(10) = Trim(comboState.Text)</span>
 
 

  后来尝试运行,填写了以下信息后,点击存盘,就报错了:实时错误'-2147217873(80040e2f)不能将 NULL 值插入列;列不允许空值,INSERT 失败。
  按照提示的错误,进行如下操作,允许NULL值为空:

机房收费系统之实时错误'-2147217873(80040e2f)_第1张图片


机房收费系统之实时错误'-2147217873(80040e2f)_第2张图片


机房收费系统之实时错误'-2147217873(80040e2f)_第3张图片

  原以为万事大吉了,没想到UserID列消停了,但是Ischeck列又不听话了,所以,便将这些列的“允许Null值”前边都划上了对勾,点击保存图标后运行,成功了,后觉得这不是万全之策,为了让人查看表的时候有一种整体感,便用代码将窗体上没有体现出来的信息也加上了:

<span style="font-size:24px;">txtSQL = "select * from Student_Info"
    Set mrc = ExecuteSQL(txtSQL, MsgText)
    
    mrc.AddNew
    mrc.Fields(0) = Trim(txtCardNo.Text)
    mrc.Fields(1) = Trim(txtSID.Text)
    mrc.Fields(2) = Trim(txtName.Text)
    mrc.Fields(3) = Trim(ComboSex.Text)
    mrc.Fields(4) = Trim(txtDept.Text)
    mrc.Fields(5) = Trim(txtGrade.Text)
    mrc.Fields(6) = Trim(txtClass.Text)
    mrc.Fields(7) = Trim(txtRecharge.Text)
    mrc.Fields(8) = Trim(txtExplain.Text)
    mrc.Fields(10) = Trim(comboState.Text)
    mrc.Fields(14) = Trim(ComboType.Text)
   </span>


   以下内容为后添加的代码:    

    mrc.Fields(9) = Trim(UserName)
    mrc.Fields(11) = "未结账"
    mrc.Fields(12) = Date
    mrc.Fields(13) = Time
 
   
    mrc.Update   '更新记录集
    MsgBox "注册成功!", vbOKOnly + vbExclamation, "提醒"
    mrc.Close
    Me.Hide


 
 

  解决问题的过程就是加深知识理解的过程,虽然进度慢,但是还是要踏实~~~

 

你可能感兴趣的:(数据库,机房收费系统)