我有来自数据库的返回值,但我无法过滤空值。
With rs_receita
Do Until .EOF
Set noaux2 = xml.createElement("Superavit")
noaux2.Text = IIf(IsEmpty(!Superavit), "", CStr(!Superavit))
Call noaux.appendChild(noaux2)
.MoveNext
Loop
End With
Set rs_receita = Nothing
答案 0 :(得分:2)
避免IIf
这种情况。 IIf
始终评估两个表达式。因此,当!Superavit
为空时,这将导致错误。
另一方面,单行If
语句仅评估要执行的表达式。将它与IsNull()
函数结合使用,可以在数据不为空时可靠地为数据赋值:
If IsNull(!Superavit) Then noaux2.Text = "" Else noaux2.Text = CStr(!Superavit)
答案 1 :(得分:1)
在VB6中(对不起!)你可以通过在字段值后附加一个空字符串来强制强制转换为字符串。
编辑:Phew,这篇文章是一个过去的爆炸。它为经典VB6提供了一堆NULL处理思路:https://technet.microsoft.com/en-us/library/Aa175775(v=SQL.80).aspx我相信以下任何一种都可行:
noaux2.Text = "" & rs("Superavit")
OR
noaux2.Text = vbNullString & rs("Superavit")