每个错误背后都隐藏着一个问题,就是我遇到的问题还太少。这是机房收费系统注册过程中遇到的实时错误:
错误的原因是charge_sys.dbo.student_Info中的UserID表的列不允许为空值,打开SQL server ,找到userID,设置为空,可是不能保存,于是继续:打开工具--选项,弹出如图的对话框,将阻止保存要求重新创建表的更改前的对勾去掉,确定就可以了。
将userID的NULL设为空:
以上的工作做完后发现还是不行,查了查居然是代码少写了,这是原来的代码:
mrc.AddNew '给每个字段赋值
mrc.Fields(0) = Trim(txtCardno.Text)
mrc.Fields(9) = Format(txtMoney.Text)
mrc.Fields(1) = Trim(txtStudentno.Text)
mrc.Fields(2) = Trim(txtStudentName.Text)
mrc.Fields(4) = Trim(txtSeries.Text)
mrc.Fields(3) = Trim(comboSex.Text)
mrc.Fields(5) = Trim(txtGrade.Text)
mrc.Fields(6) = Trim(txtClass.Text)
mrc.Fields(10) = Trim(comboStatus.Text)
mrc.Fields(7) = Trim(txtCash.Text)
mrc.Fields(8) = Trim(txtExplain.Text)
mrc.Fields(14) = Trim(comboType.Text)
mrc.Update '更新数据集对象
MsgBox "恭喜你,注册成功!", vbOKOnly + vbExclamation, "警告"
mrc.close '关闭数据集对象
Me.Hide '隐藏窗体
数据集要更新,每个字段都需要赋值,以下是改正后的代码:
mrc.AddNew '给每个字段赋值
mrc.Fields(0) = Trim(txtCardno.Text)
mrc.Fields(9) = Format(txtMoney.Text)
mrc.Fields(1) = Trim(txtStudentno.Text)
mrc.Fields(2) = Trim(txtStudentName.Text)
mrc.Fields(4) = Trim(txtSeries.Text)
mrc.Fields(3) = Trim(comboSex.Text)
mrc.Fields(5) = Trim(txtGrade.Text)
mrc.Fields(6) = Trim(txtClass.Text)
mrc.Fields(10) = Trim(comboStatus.Text)
mrc.Fields(7) = Trim(txtCash.Text)
mrc.Fields(8) = Trim(txtExplain.Text)
mrc.Fields(14) = Trim(comboType.Text)
mrc.Fields(11) = "未结账"
mrc.Fields(12) = Date
mrc.Fields(13) = Time
mrc.Update '更新数据集对象
MsgBox "恭喜你,注册成功!", vbOKOnly + vbExclamation, "警告"
mrc.close '关闭数据集对象
Me.Hide '隐藏窗体
本来以为需要查找哪个就加哪个肯定没错,可是后来仔细想想,那样根本过不了mrc.Update这句,所以这个小错误真是不该犯啊。