網(wǎng)站地圖|客服中心|設(shè)為首頁|加入收藏

您的位置 → 首頁建站百科

相關(guān)文章

一次有趣的ASP程序調(diào)試過程

作者:客服中心 文章來源:天潤智力 點擊數(shù):136580 更新時間:2010-7-20

 引用內(nèi)容
Microsoft VBScript 編譯器錯誤 錯誤 '800a03f6'

缺少 'End'

/iisHelp/common/500-100.asp,行242

Microsoft VBScript 運行時錯誤 錯誤 '800a000d'

類型不匹配

/sfbbs/inc/Dv_ClsMain.asp,行710

碰到這樣的錯誤提示我們應(yīng)該高興,因為它明確的指出了錯誤的地方,一般情況下只要檢查下所在行的代碼即可,但這次錯誤比較特別,710行處在一個函數(shù)體中,函數(shù)肯定是沒有問題的,那么問題應(yīng)該出在調(diào)用函數(shù)的地方,可是頁面中有好幾處調(diào)用了這個函數(shù)(難點一:確定出錯位置);還有,這個函數(shù)主要的是一個循環(huán)體,我們還得判斷出是在哪次循環(huán)時出的錯(難點二)。OK,我們先來看下這個函數(shù):


 程序代碼
Public Function RecordsetToxml(Recordset,row,xmlroot)
    Dim i,node,rs,j,DataArray
    If xmlroot="" Then xmlroot="xml"
    If row="" Then row="row"
    Set RecordsetToxml=Server.CreateObject("msxml2.FreeThreadedDOMDocument"& MsxmlVersion)
    RecordsetToxml.appendChild(RecordsetToxml.createElement(xmlroot))
    If Not Recordset.EOF Then
        DataArray=Recordset.GetRows(-1)
        For i=0 To UBound(DataArray,2)
            Set Node=RecordsetToxml.createNode(1,row,"")
            j=0
            For Each rs in Recordset.Fields
                     node.attributes.setNamedItem(RecordsetToxml.createNode(2,LCase(rs.name),"")).text= DataArray(j,i)& "" '710行
                     j=j+1
            Next
            RecordsetToxml.documentElement.appendChild(Node)
        Next
    End If
    DataArray=Null
End Function

這個函數(shù)的功能還是比較簡單的,主要就是建立一個FreeThreadedDOMDocument對象,其根節(jié)點是xmlroot,下邊只有一個子節(jié)點row,然后將Recordset對象中的各字段及其值以屬性的方式保存在row節(jié)點中。

好了,現(xiàn)在我們先來解決第一個難點:找出錯誤位置!修改RecordsetToxml函數(shù)如下:


 程序代碼
Public Function RecordsetToxml(Recordset,row,xmlroot)
    Dim i,node,rs,j,DataArray
    If xmlroot="" Then xmlroot="xml"
    If row="" Then row="row"
    Set RecordsetToxml=Server.CreateObject("msxml2.FreeThreadedDOMDocument"& MsxmlVersion)
    RecordsetToxml.appendChild(RecordsetToxml.createElement(xmlroot))
    If Not Recordset.EOF Then
        DataArray=Recordset.GetRows(-1)
        For i=0 To UBound(DataArray,2)
            Set Node=RecordsetToxml.createNode(1,row,"")
            j=0
            For Each rs in Recordset.Fields
                     Response.Write(row & "  " & xmlroot & " " & rs.name & "<br/>")
                     node.attributes.setNamedItem(RecordsetToxml.createNode(2,LCase(rs.name),"")).text= DataArray(j,i)& "" '710
                     j=j+1
            Next
            RecordsetToxml.documentElement.appendChild(Node)
        Next
    End If
    DataArray=Null
End Function

注意Response.write語句放置的位置也很重要!瀏覽,返回結(jié)果為:
引用內(nèi)容
style xml ID
style xml StyleName
style xml Main_Style
style xml Style_Pic
style xml page_index
style xml page_dispbbs
style xml page_showerr
style xml page_login
style xml page_online
style xml page_usermanager
style xml page_fmanage
style xml page_boardstat
style xml page_paper_even_toplist
style xml page_query
style xml page_show
style xml page_dispuser
style xml page_help_permission
style xml page_postjob
style xml page_post
style xml page_boardhelp
style xml upsize_ts

Microsoft VBScript 編譯器錯誤 錯誤 '800a03f6'

缺少 'End'

/iisHelp/common/500-100.asp,行242

Microsoft VBScript 運行時錯誤 錯誤 '800a000d'

類型不匹配

/sfbbs/inc/Dv_ClsMain.asp,行711

可以初步判斷是類似RecordsetToxml(Recordset,"style","xml")的位置出錯,OK,我們搜索"style","xml",沒有結(jié)果:(,再搜索"style",搜索結(jié)果中只有一處參數(shù)中有帶"style"的,就是它了,發(fā)現(xiàn)也是位于一個函數(shù)中:


 程序代碼
Public Sub Loadstyle()
    Dim Rs
    Set Rs=Dvbbs.Execute("Select *  From Dv_style")
    Set Application(CacheName &"_style")=RecordsetToxml(rs,"style","") '就是這句了
    Set Rs=Nothing
    LoadStyleMenu()
End Sub

這個函數(shù)的作用也挺簡單的,就是從Dv_style表中將論壇樣式讀取出來以XML格式保存到Application對象中,OK,結(jié)合上邊錯誤信息,我們可以猜到是在讀取upsize_ts字段時出錯了!才想起來這個字段動網(wǎng)本身是沒有的,是在Access2000轉(zhuǎn)Access2003時新增的,將其刪除,問題解決!

===業(yè)務(wù)辦理及咨詢=== 客服熱線:010-57281389 13020085953 在線客服:北京網(wǎng)站建設(shè)中心歡迎您購買網(wǎng)站|即買即開即用 功能強大 服務(wù)完備 歡迎咨詢北京網(wǎng)站建設(shè)中心歡迎您進行網(wǎng)站建設(shè)業(yè)務(wù)咨詢|客服熱線:010-57281389 13020085953 QQ:523313456 MSN:digiark@hotmail.com北京網(wǎng)站建設(shè)中心歡迎您進行網(wǎng)站建設(shè)業(yè)務(wù)咨詢|客服熱線:010-57281389 13020085953 QQ:523313456 MSN:digiark@hotmail.com 客服郵箱:cnet99@cnet99.com

新品上架網(wǎng)站功能說明典型客戶案例服務(wù)優(yōu)勢常見問題視頻展示成功故事用戶使用手冊標準網(wǎng)站服務(wù)

本站搜索關(guān)鍵詞:ASP程序 | 北京網(wǎng)站建設(shè)公司 | 北京網(wǎng)站制作公司 | 北京網(wǎng)站設(shè)計公司 | 北京網(wǎng)站維護公司 | 北京網(wǎng)站優(yōu)化公司 | 北京企業(yè)建站公司 | 北京做網(wǎng)站公司

銷售熱線

7x24小時全國售前咨詢熱線:010-57281389

7x24小時全國售后服務(wù)熱線:13020085953 15313016798

手機 | 微信同號:18600846206   QQ:523313456

立即咨詢 網(wǎng)站建設(shè)業(yè)務(wù)咨詢|客服熱線:010-57281389 13020085953

點這里給我發(fā)消息 電子郵箱:cnet99@cnet99.com

營業(yè)地址(東部):北京市朝陽區(qū)伊莎文心廣場A座3層B-22

位置分享

營業(yè)地址(西部):北京市豐臺區(qū)汽車博物館東路1號諾德中心9-605

網(wǎng)站建設(shè)與服務(wù)超級群:北京網(wǎng)站建設(shè)中心:167837061 北京域名注冊中心:65194647

北京網(wǎng)站主機中心:56350700 北京企業(yè)云郵箱中心:65197392 北京網(wǎng)站維護中心:65198105

天潤智力-專注于互聯(lián)網(wǎng)平臺建設(shè)與服務(wù)領(lǐng)域 中國互聯(lián)網(wǎng)平臺建設(shè)服務(wù)提供商

萬網(wǎng)阿里云金牌首席合作伙伴站點 全線代理萬網(wǎng)阿里云產(chǎn)品及服務(wù)

中國萬網(wǎng)正式通過ISO9001國際標準質(zhì)量體系認證

Copyright©1999-2024 北京天潤智力智能科技有限公司 網(wǎng)站許可證/ICP備案:京ICP備2020040216號-3

標準網(wǎng)站,網(wǎng)站建設(shè),域名注冊,虛擬主機,獨享主機,企業(yè)云郵箱,網(wǎng)站維護一條龍,北京網(wǎng)站建設(shè)中心