送分100分:text1.text = rst1.fields("姓名") 时出现无效使用NULL的提示解决办法
送分100分:text1.text = rst1.fields("姓名") 时出现无效使用NULL的提示
VB6+ACCESS2003+ ADO
在程序中有text1.text = rst1.fields("姓名")
当"姓名"字段为空值时text1.text = rst1.fields("姓名")出现无效使用NULL的提示
为什么会出现这个提示,应该如何避免。
这个字段是文本型的,日期型、数值型等字段为空值时,是否也会出现此种情况。如何解决。谢谢大家。
------解决方案--------------------
text1.text = rst1.fields("姓名") &""
因为rst1.fields("姓名")的值为NULL才会出现这种错误,而使用这种方式就可以很好地解决这个问题了
------解决方案--------------------
当"姓名"字段为空值时,楼主的代码相当于执行了
Text1.Text = Null
这在VB6中是会报错"出现无效使用NULL".可像1楼所说那样处理,或调用封装的函数处理,用函数处理比较适合于要进行代码重用的场合.
调用:
Text1.Text = AsString(rst1.fields("姓名"))
VB6+ACCESS2003+ ADO
在程序中有text1.text = rst1.fields("姓名")
当"姓名"字段为空值时text1.text = rst1.fields("姓名")出现无效使用NULL的提示
为什么会出现这个提示,应该如何避免。
这个字段是文本型的,日期型、数值型等字段为空值时,是否也会出现此种情况。如何解决。谢谢大家。
------解决方案--------------------
text1.text = rst1.fields("姓名") &""
因为rst1.fields("姓名")的值为NULL才会出现这种错误,而使用这种方式就可以很好地解决这个问题了
------解决方案--------------------
当"姓名"字段为空值时,楼主的代码相当于执行了
Text1.Text = Null
这在VB6中是会报错"出现无效使用NULL".可像1楼所说那样处理,或调用封装的函数处理,用函数处理比较适合于要进行代码重用的场合.
调用:
Text1.Text = AsString(rst1.fields("姓名"))
- VB code
Function AsString(ByVal v1 As Variant) As String On Error GoTo AsString_Error AsString = v1 On Error GoTo 0 Exit Function AsString_Error: AsString = "" End Function
------解决方案--------------------
不为什么,王八的屁股 = 龟腚(规定) 再加 编译器魔法
Text1.Text = Rst1.Fields("姓名") & "" 运行通过。
<==编译器魔法,编译器偷偷做了手脚 .(我用WIN7 X64,目前没找到windbg for win7 x64的,你可以自己调进去看,编译器做了什么手脚)
Text1.Text = CStr(Rst1.Fields("姓名")) 运行通不过,也是提示无效使用NULL
因为你调用的 CStr 函数不支持直接把DBNULL转换为string,所以报错
------解决方案--------------------