<%= HTMLEncode(rs(“Notes”))%>,当Notes = Null时出错

时间:2013-06-07 14:31:07

标签: sql database asp-classic

我从保存在我的Microsoft访问数据库中的表中提取数据,数据库非常旧,某些表单具有空注释值(在添加注释部分之前创建的表单)。当我尝试打开带有空注释的表单时,ASP经典网页无法加载,这就是我正在尝试的内容:

<%=HTMLEncode(rs("Notes"))%>

如果我进入数据库并只是在笔记中放置一个句点,ASP网页将会打开,我有数以千计的表格,所以我不能一个接一个地做。我无法弄清楚如何解决这个错误,我尝试过:

<%=HTMLEncode(rs("Notes") & ".")%>

这也许有价值,

Dim rs
Set rs = Server.Createobject("ADODB.Recordset")

有什么想法吗?

2 个答案:

答案 0 :(得分:2)

您可以尝试修改查询 - 例如

SELECT MyCol1, MyCol2, ISNULL(Notes, '') AS Notes FROM MyTable

通过这种方式,即使基础表包含NULL,也可以保证查询不返回NULL。

答案 1 :(得分:1)

使用功能:

Function EncodeHTML(value)
    If IsNull(value) Then
        EncodeHTML = ""
    Else  
        EncodeHTML = HTMLEncode(value)
    End If
End Function

然后这样称呼:

<%=EncodeHTML(rs("Notes"))%>