2013-06-07 2 views
0

Microsoft Access 데이터베이스에 저장된 테이블에서 motes를 가져 오는 중 데이터베이스가 너무 오래되어 일부 양식에 null 메모 값이 있습니다 (메모 섹션이 추가되기 전에 작성된 양식). 제가 DB에 가서 단순히주의 사항 ASP 웹 페이지에서 기간을 배치하면% = HTMLEncode (rs ("Notes")) %>, Notes = Null 일 때 오류가 발생합니다.

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

: 내가 널 노트 양식을 열려고하면 ASP 고전적인 웹 페이지는이이 노력하고 무엇 메신저,로드하지 않습니다 열리 며, 수천 개의 양식을 가지고 있으므로 하나씩이 작업을 수행 할 수 없습니다. 나는이 오류를 해결하는 방법을 알아 질수 그림, 나는 시도했다 :

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

이도 가치가있을 수도

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

어떤 아이디어?

+0

기간의 작업을 추가 했 –

답변

2

당신은 당신의 쿼리를 수정하려고 할 수 있습니다 - 예를

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

이 방법을 사용하면 쿼리가 기본 테이블이 NULL 포함 된 경우에도 NULL을 반환하지 않는 것을 보장합니다.

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

다음과 같이 호출 :

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

감사합니다. <% On Error Resume Next %> 명령을 끝내기 만하면됩니다. 그 지금 일하고있어. 아마 그것을 고칠 수있는 최선의 방법은 아니지만 그것은 작동합니다! – user2463834

+3

Resume Next로 문제를 무시하면 결국에는 도움이되지 않습니다. IsNull()을 사용하여 출력하기 전에 값이 Null인지 확인해야합니다. – StephenCollins

1

이 기능을 사용

? `HTMLEncode` 함수의 정의를 확인해야합니다. (`Server.HTMLEncode`는 내장 함수 임에도 불구하고`HTMLEncode`는 아닙니다.)