<%
Function GetErr(ErrID,ErrMsg,BackLevel)
'ErrID:错误识别ID
'ErrMsg:错误附加信息
'BackLevel:返回页面的级数 '过滤参数
ErrID=Cint(ErrID)
ErrMsg=Replace(Trim(ErrMsg),"'","''")
         set objConn=server.createobject("adodb.connection")
    str="driver={sql server};server=F67BB078CA6147C;uid=sa;pwd=123456;database=Info"
    objConn.open str
'创建通用变量
Dim objRS,strSQL
Set objRS=Server.CreateObject("ADODB.RecordSet")     第19行
Dim strHtmlbody,strHomepageURL,strCSS,strScript
strHtmlbody=objRS("ESC_Html_S") '读取错误显示页面的Html
strHomepageURL=objRS("ESC_HomepageURL_S") '读取首页地址
strCSS=objRS("ESC_CSS_S") '读取CSS配置
strScript=objRS("ESC_Script_S")

'更新系统错误计数器
objRS.Update "ES_Count_N",objRS("ES_Count_N")+1
objRS.Close

'过滤Null值防止replace()函数出错
If IsNull(strHomepageURL) Then
strHomepageURL="/"
End If
If IsNull(strCSS) Then
strCSS=""
End If
If IsNull(strScript) Then
strScript=""
End If

'读取具体的错误信息,并过滤智能标记
strSQL="SELECT * FROM [ErrType],[ErrCode] WHERE ET_ID_N=EC_ET_ID_FN AND EC_ID_N="&ErrID
objRS.Open strSQL,objConn,1,3
If objRS.EOF Then 
Response.Write GetErr(2,"None",1)
Exit Function
End If
strHtmlbody=Replace(strHtmlbody,"#Err_Title#",objRS("EC_Name_S"))
strHtmlbody=Replace(strHtmlbody,"#Err_ID#",objRS("EC_IdentifyID_N"))
strHtmlbody=Replace(strHtmlbody,"#Err_Description#",objRS("EC_Description_S"))
strHtmlbody=Replace(strHtmlbody,"#Err_Reason#",objRS("EC_Reason_S"))
strHtmlbody=Replace(strHtmlbody,"#Err_Solution#",objRS("EC_Solution_S"))
strHtmlbody=Replace(strHtmlbody,"#Err_Other#",ErrMsg)
strHtmlbody=Replace(strHtmlbody,"#Err_BackLevel#","[<a href=# onclick=javascript:history.go(-"&BackLevel&")>返回</a>]")
strHtmlbody=Replace(strHtmlbody,"#Err_Back#","[<a href=# onclick=javascript:history.go(-1)>返回上一页</a>]")
strHtmlbody=Replace(strHtmlbody,"#Err_BackToHomepage#","[<a href="&strHomepageURL&">返回首页</a>]")

strHtmlbody=Replace(strHtmlbody,"#Err_CloseWindow#","[<a href=# onclick=javascript:window.close()>关闭</a>]")
strHtmlbody=Replace(strHtmlbody,"#Err_CSS#",strCSS)
strHtmlbody=Replace(strHtmlbody,"#Err_Script#",strScript)
strHtmlbody=Replace(strHtmlbody,"#supSpot#",strHtmlbody)

'判断具体错误发生时是否根据错误类型记录错误信息
Dim strRecordList '记录错误信息字符串的变量
Dim strTmpRecordList,strTmpLinkman,strTmpBackURL,strRecordIt '记录表名称的变量,根据EC_SameToType_B判断
Select Case objRS("EC_SameToType_B")
Case True '若根据错误类型的设置记录错误信息
strTmpRecordList="ET_Recordlist_S"
strTmpLinkman="ET_DefaultLinkman_ID"
strTmpBackURL="ET_BackURL_S"
strRecordIt="ET_RecordIt_B"
Case False '若根据具体错误的设置记录错误信息
strTmpRecordList="EC_Recordlist_S"
strTmpLinkman="EC_DefaultLinkman_S"
strTmpBackURL="EC_BackURL_S"
strRecordIt="EC_RecordIt_B"
Case Else
Response.Write GetErr(2,"None",1)
Exit Function
End Select

'关闭数据库连接
Set objRS=Nothing
CloseDatabase
End Function
%>

解决方案 »

  1.   

    objRS先执行查询再取值
    objRS("ESC_Html_S") 转到WEB区
      

  2.   

    我改动了一下前面的代码,还是一样的错误
    ErrID=Cint(ErrID)
    ErrMsg=Replace(Trim(ErrMsg),"'","''")
        '创建通用变量
    Dim objRS,strSQL
    Set objRS=Server.CreateObject("ADODB.RecordSet")   还是这里出现错误!
    '从[ErrSystem]、[ErrSYS_Config]表中读取激活的系统配置
    strSQL="SELECT * FROM [ErrSystem],[ErrSYS_Config] WHERE ES_ESC_ID_FN=ESC_ID_N"
    objRS.Open strSQL,objConn,1,3
    If objRS.EOF Then 
    Response.Write GetErr(2,"None",1)
    Exit Function
    End If
    Dim strHtmlbody,strHomepageURL,strCSS,strScript
    strHtmlbody=objRS("ESC_Html_S") '读取错误显示页面的Html
    strHomepageURL=objRS("ESC_HomepageURL_S") '读取首页地址
    strCSS=objRS("ESC_CSS_S") '读取CSS配置
    strScript=objRS("ESC_Script_S")

    '更新系统错误计数器
    objRS.Update "ES_Count_N",objRS("ES_Count_N")+1
    objRS.Close

    '过滤Null值防止replace()函数出错
    If IsNull(strHomepageURL) Then
    strHomepageURL="/"
    End If
    If IsNull(strCSS) Then
    strCSS=""
    End If
    If IsNull(strScript) Then
    strScript=""
    End If
    '读取具体的错误信息,并过滤智能标记
    strSQL="SELECT * FROM [ErrType],[ErrCode] WHERE ET_ID_N=EC_ET_ID_FN AND EC_ID_N="&ErrID
    objRS.Open strSQL,objConn,1,3
    If objRS.EOF Then 
    Response.Write GetErr(2,"None",1)
    Exit Function
    End If