机房那些事儿---犯错之实时错误‘94’

来源:互联网 发布:新浪网络猫耳宝贝 编辑:程序博客网 时间:2024/06/06 01:26

  最近,在敲操作员工作记录的时候出现了这样的错误---实时错误‘94’无效使用null值。经查询:数据库中,某一字段中为空时就显示NULL,但在VB里,要显示这一字段,就会出现实时错误94,无效使用NULL的状况

  针对这个问题,我查看了下数据库中的worklog_info表,果真是有空值的地方,但是他为什么会有空值呢,可以让他禁止出现空值吗,这样的话不就可以防止这种问题的出现了嘛!

  于是乎,我查看了下worklog_info表中参数的属性,做法:右击worklog_info表,选择设计


  按照表格显示,各参数都是允许Null值的,但是只要在查询过程中遇到空值的话就会报错

解决方案一:最简单的方法就是将所有参数的允许Null值取消打勾,就是不允许有空值,但是这样做的缺点是填充表格的时候必须每个空都有值。

解决方案二:

http://blog.csdn.net/sun15732621550/article/details/47154103

按照作者的说法,如果出现报错的情况,只需在有空值的参数后面加上“&”就可以了

Do While Not mrc.EOF               .Rows = .Rows + 1               .CellAlignment = 4               .TextMatrix(.Rows - 1, 0) = mrc.Fields(0)               .TextMatrix(.Rows - 1, 1) = mrc.Fields(1)               .TextMatrix(.Rows - 1, 2) = mrc.Fields(2)               .TextMatrix(.Rows - 1, 3) = mrc.Fields(3)               .TextMatrix(.Rows - 1, 4) = mrc.Fields(4)               .TextMatrix(.Rows - 1, 5) = mrc.Fields(5) & ""               .TextMatrix(.Rows - 1, 6) = mrc.Fields(6) & ""               .TextMatrix(.Rows - 1, 7) = mrc.Fields(7)               .TextMatrix(.Rows - 1, 8) = mrc.Fields(8) '显示True或是False                   mrc.MoveNext          Loop  
解决方案三:

http://blog.csdn.net/u010928364/article/details/17209191

为了保证字段为空时不报错,则出现一个语句来判断该字段是否为空,为空则显示“ ”,否则显示这个字段的内容。

If IsNull(mrc.Fields(5)) Then  .TextMatrix(.Rows - 1, 3) = ""  Else  .TextMatrix(.Rows - 1, 3) = mrc.Fields(5).Value       '注销日期  End If          If IsNull(mrc.Fields(6)) Then  .TextMatrix(.Rows - 1, 4) = ""  Else  .TextMatrix(.Rows - 1, 4) = mrc.Fields(6).Value       '注销时间  End If        If IsNull(mrc.Fields(7)) Then  .TextMatrix(.Rows - 1, 5) = ""  Else  .TextMatrix(.Rows - 1, 5) = mrc.Fields(7).Value         '机器名  End If  
解决方案四:直接删除有空值的行
解决方案五:将有空值的地方填上

0 0
原创粉丝点击