asp建站可能會遇到了很多問題,想想大家可能也會遇到這類的問題,在網(wǎng)上也找了一些資料,來和大家一起分享,有些是經(jīng)歷過的,有些是網(wǎng)上給予來的,還希望大家能一起來研究和討論,有不足的,一起來填補(bǔ)。。
錯誤類型如下: 錯誤類型: ADODB.Field (0x800A0BCD) BOF 或 EOF 中有一個是“真”,或者當(dāng)前的記錄已被刪除,所需的操作要求一個當(dāng)前的記錄。 原因:你在利用SQL查找數(shù)據(jù)庫的記錄時,查找結(jié)果為空,而且你沒有對空記錄的情況做出處理。 解決:1 如果你不相信查找結(jié)果為空,那你應(yīng)該考慮你的SQL語句是否正確;2 如果確實(shí)有空的情況,那你應(yīng)該添加"if rs.eof then"或者"do while not rs.eof"之類的語句,對eof的情況進(jìn)行處理。 錯誤類型: (0x80020009) 發(fā)生意外。 原因:也是在利用SQL查找數(shù)據(jù)庫記錄時,查找結(jié)果為空,而且你在后面的代碼中調(diào)用了rs("aa")之類的記錄 解決:要么同上,加上rs.eof的判斷和處理,要么就是你的SQL語句有誤,導(dǎo)致記錄查不出來,也就無法在后來使用rs("aa")的記錄了。 錯誤類型: Active Server Pages, ASP 0126 (0x80004005) 找不到包含文件 'xxx.asp'。 原因:就如錯誤提示所說,不存在這個包含文件。 解決:如果你確定有這個文件,那么就是你的路徑寫錯了,比如說其實(shí)他相對于網(wǎng)站根目錄的路徑應(yīng)該是inc/xxx.asp,那么include里面就應(yīng)該寫inc/xxx.asp,而不僅僅是xxx.asp。附:include的寫法是: 錯誤類型: Microsoft OLE DB Provider for ODBC Drivers (0x80004005) [Microsoft][ODBC Microsoft Access Driver] 操作必須使用一個可更新的查詢。 原因:這個在XP服務(wù)器上非常常見,屬于服務(wù)器的配置問題,或者說是用戶的權(quán)限問題。 解決:如果僅僅是在本機(jī)上調(diào)試出現(xiàn)的錯誤,則右鍵點(diǎn)擊網(wǎng)站所在的文件夾,點(diǎn)擊"共享和安全...",在"安全"中點(diǎn)添加...,寫入everyone,然后再使這個用戶的權(quán)限為所有,即除了第一個外全部打勾,確定之后再刷新就可以用了。(注:如果找不到“安全”選項(xiàng),則在任意一個文件夾下點(diǎn)擊“工具”,然后是“文件夾選項(xiàng)”--“查看”,在“使用簡單文件共享”一欄把勾去掉即可) 錯誤類型: Microsoft VBScript 編譯器錯誤 (0x800A0401) 語句未結(jié)束 原因:語法錯誤。 解決:按系統(tǒng)所提示的行來檢查。如果提示的恰好是本頁的最后一行,則很有可能是if語句忘記寫"end if"啦,select語句忘記寫"end select"啦,總之是需要end的地方?jīng)]有end,導(dǎo)致服務(wù)器找不到語句的結(jié)尾,只好在最后一行顯示錯誤。 錯誤類型: Microsoft JET Database Engine (0x80040E10) 至少一個參數(shù)沒有被指定值。 原因:在寫SQL語句的時候,我們經(jīng)常會調(diào)用一些參數(shù),很可能這些參數(shù)中有一個沒有被賦值。 解決:檢查每一個參數(shù)的值是否真的傳遞過來了,很可能有些參數(shù)其實(shí)是"",這樣的參數(shù)去索引數(shù)據(jù)庫當(dāng)然是不行的。 錯誤類型: Microsoft JET Database Engine (0x80040E37) Microsoft Jet 數(shù)據(jù)庫引擎找不到輸入表或查詢 'AA'。 確定它是否存在,以及它的名稱的拼寫是否正確。 原因:不存在這個表。 解決:應(yīng)該是你寫錯了表名,或者連錯了數(shù)據(jù)庫?再仔細(xì)核對一下吧! 錯誤類型: Microsoft VBScript 運(yùn)行時錯誤 (0x800A000D) 類型不匹配: '[string: ""]'' 原因:是因?yàn)槟愕淖兞康念愋褪亲址偷?,而你卻當(dāng)作數(shù)字或者其他類型來使用。 解決:比如你需要數(shù)字的變量用來計算i=i+1等數(shù)學(xué)運(yùn)算,那么應(yīng)該在變量上使用cint(變量名),強(qiáng)制轉(zhuǎn)換為數(shù)字型,兩個變量之間作比較也一定要是相同的類型,因此也需要轉(zhuǎn)換,方法同上。 錯誤類型: Microsoft JET Database Engine (0x80040E07) 標(biāo)準(zhǔn)表達(dá)式中數(shù)據(jù)類型不匹配。 原因:一般也是在寫SQL語句時發(fā)生了錯誤,即把數(shù)字型和字符串型的變量混淆了。 解決:很好辦,試一試把SQL中變量加了''的去掉單引號,或者把原先認(rèn)為是數(shù)字的加上'',再查看效果。 錯誤類型: Microsoft VBScript 運(yùn)行是錯誤(0x800A01A8) 缺少對象:” 原因:很有可能是你沒有對rs對象進(jìn)行定義。 解決:別忘了寫set rs=server.CreateObject("adodb.recordset"),這樣可以定義對象;或者直接不用這種寫法,直接用conn.execute("SQL")這樣會方便得多,也不用考慮對象問題。 錯誤類型: Microsoft VBScript 運(yùn)行時錯誤 (0x800A005E) 無效使用 Null: 'Replace' 原因:無效使用函數(shù)的情況也比較多見,包括Split等,這個道理也比較簡單,就是因?yàn)槟鉘eplace的內(nèi)容是空的。 解決:最好加一句IF檢驗(yàn)一下你要replace的內(nèi)容是否為空。 ASP常用錯誤類型 ActiveServerPages,ASP0126(0x80004005)-->找不到包含文件 MicrosoftOLEDBProviderforODBCDrivers(0x80040E21)-->sql語句出錯(數(shù)據(jù)類型不匹配或表名(字段名)錯誤或表處于編輯狀態(tài),或表不存在于conn打開的數(shù)據(jù)庫中) MicrosoftOLEDBProviderforODBCDrivers(0x80040E14)-->sql語句出錯(字段名錯誤,或數(shù)據(jù)類型不匹配) MicrosoftOLEDBProviderforODBCDrivers(0x80040E07)-->sql語句出錯(要插入或更新的字段的類型與變量數(shù)據(jù)類型不匹配) MicrosoftOLEDBProviderforODBCDrivers(0x80040E57)-->sql語句出錯(要插入或更新的數(shù)據(jù)溢出) MicrosoftOLEDBProviderforODBCDrivers(0x80040E10)-->sql語句出錯(update字段名或要更新的數(shù)據(jù)類型錯誤) MicrosoftOLEDBProviderforODBCDrivers(0x80004005)-->sql語句出錯(要插入或更新的字段的數(shù)值不能為空值) MicrosoftOLEDBProviderforODBCDrivers(0x80004005) -->打開數(shù)據(jù)庫出錯,沒有在指定目錄發(fā)現(xiàn)數(shù)據(jù)庫 MicrosoftOLEDBProviderforODBCDrivers(0x80040E37)-->沒有發(fā)現(xiàn)表 MicrosoftVBscript運(yùn)行時錯誤(0x800A000D)-->錯誤引用rs變量(rs對像已關(guān)閉或未定義) MicrosoftVBscript運(yùn)行時錯誤(0x800A01C2)-->vbscript腳本錯誤(vbscript語句出錯) MicrosoftVBscript運(yùn)行時錯誤(0x800A0006)-->vbscript腳本錯誤(溢出錯誤) MicrosoftVBscript編譯器錯誤(0x800A040E)-->缺少loop MicrosoftVBscript編譯器錯誤(0x800A03EA)-->缺少if或endif MicrosoftVBscript編譯器錯誤(0x800A03EE)--> 語句未結(jié)束(缺少")") MicrosoftVBscript編譯器錯誤(0x800A03F6)-->if語句出錯(缺少endif) MicrosoftVBscript運(yùn)行時錯誤(0x800A005B)-->缺少set MicrosoftVBscript運(yùn)行時錯誤(0x800A0005)-->變量未定義 MicrosoftVBscript編譯器錯誤(0x800A03F9)-->if語句缺少then MicrosoftVBscript編譯器錯誤(0x800A0411)-->dim語句定義錯誤 ADODB.Recordset(0x800A0BB9)-->sql語句出錯(sql語句或conn語句未定義或?qū)σ粋€rs屬性進(jìn)行賦值時發(fā)生錯誤) ADODB.Recordset(0x800A0CC1)-->rs對像出錯(rs對像本身不存在或錯誤地引用了一個不存在的字段名) ADODB.Recordset(0x800A0BCD)-->rs對像出錯(記錄集中沒有記錄卻對記錄集進(jìn)行操作) ADODB.Recordset(0x800A0E78)-->rs對像出錯(記錄集不存在,缺少rs.open語句) ADODB.Recordset(0x800A0CC1) -->rs對像出錯(引用了一個不存在的字段名) ADODB.Recordset(0x800A0E7D)-->conn定義錯誤 ADODB.Recordset(0x800A0CB3)-->數(shù)據(jù)庫以只讀方式打開,無法更新數(shù)據(jù) ADODB.Stream (0x800A0BBC)---上傳文件時發(fā)生錯誤--找不到上傳的目錄 (0x80020009)---當(dāng)前rs指針?biāo)赶蛴涗浀淖侄沃禐镹ULL,不能使用 ADODB.Field (0x80020009)---當(dāng)前rs指針?biāo)赶蛴涗浀淖侄沃禐镹ULL,不能輸出 ADODB.Field (0x800A0BCD)---沒有找到相關(guān)記錄,不能用rs("字段")取值 ADODB.Recordset (0x800A0BB9)---沒有打開數(shù)據(jù)庫(沒有打開conn)(rs已經(jīng)打開一個表,不能再用rs打開別的表) ADODB.Recordset (0x800A0BCD)---記錄指針已經(jīng)指向表尾,不能再執(zhí)行rs.movenext指令 ADODB.Recordset (0x800A0C93)---更改或添加完記錄沒有更新(rs.更新)就關(guān)閉鏈接(rs.close) ADODB.Recordset (0x800A0CB3)---數(shù)據(jù)庫操作錯誤(表在讀的方式打開不能添加數(shù)據(jù)) ADODB.Recordset (0x800A0CC1)---數(shù)據(jù)庫操作錯誤(在打開的表中找不到指定的字段) ADODB.Recordset (0x800A0E78)---數(shù)據(jù)庫操作錯誤(rs沒有打開表不能用rs.close結(jié)束)(rs已經(jīng)關(guān)閉,不能再用rs讀取數(shù)據(jù)) ADODB.Recordset (0x800A0E79)---數(shù)據(jù)庫操作錯誤(rs已經(jīng)打開一個表,不能再打開別的表) ADODB.Recordset (0x800A0E7D)---打開表錯誤(缺少參數(shù))(有可能是忘了寫",conn,1,1") Active Server Pages, ASP 0126 (0x80004005)---找不到包含文件('conn.asp') Microsoft JET Database Engine (0x80004005)---表已經(jīng)被打開(或在設(shè)計表時),不能再執(zhí)行打開操作 Microsoft JET Database Engine (0x80040E07)---查詢條件錯誤(對字符型數(shù)據(jù)查詢時要用單引號括起要查詢的字符串) Microsoft JET Database Engine (0x80040E10)---在指定的表中找不到此字段 Microsoft JET Database Engine (0x80040E14)---變量的值為空(或缺少關(guān)鍵字) (有可能是格式寫錯了,沒有where語句卻多寫了一個where)(沒有傳過來數(shù)據(jù)) (可能是用了系統(tǒng)關(guān)鍵字,如果表名用user,就會出現(xiàn)此問題) Microsoft JET Database Engine (0x80040E37)---找不到要打開的表 Microsoft VB腳本 運(yùn)行時錯誤 (0x800A0006)---類型轉(zhuǎn)換錯誤[cint(date())] Microsoft VB腳本 運(yùn)行時錯誤 (0x800A0009)--- Microsoft VB腳本 運(yùn)行時錯誤 (0x800A000D)---類型轉(zhuǎn)換錯誤(可能是傳數(shù)據(jù)時格式寫錯了)(把rs--定義的adodb.recordset--寫錯了,系統(tǒng)錯認(rèn)為函數(shù)名了) Microsoft VB腳本 運(yùn)行時錯誤 (0x800A0046)--- Microsoft VB腳本 運(yùn)行時錯誤 (0x800A005B)---不能直接用"="給對象賦值,要用"set 對象名=值" Microsoft VB腳本 運(yùn)行時錯誤 (0x800A005E)---字符替換出現(xiàn)錯誤 Microsoft VB腳本 運(yùn)行時錯誤 (0x800A01A8)---rs已經(jīng)關(guān)閉或是沒有建立rs,沒有打開conn (rs沒有打開表,不能執(zhí)行關(guān)閉操作rs.close)(此表已經(jīng)被打開,不能再打開) Microsoft VB腳本 運(yùn)行時錯誤 (0x800A01C2)---錯誤的命令行(不能執(zhí)行的命令) Microsoft VB腳本 編譯器錯誤 (0x800A03EA)---語句格式錯誤(只有else,找不到if ) Microsoft VB腳本 編譯器錯誤 (0x800A03EE)---語句格式錯誤(可能是少了一個括號) Microsoft VB腳本 編譯器錯誤 (0x800A03F2)---語句格式錯誤 [if int(request(new))=1 then]--應(yīng)該為:request("new") Microsoft VB腳本 編譯器錯誤 (0x800A03F6)---語句格式錯誤(只有if,找不到end if) Microsoft VB腳本 編譯器錯誤 (0x800A03F9)---語法錯誤(else if中間有空格,缺少and,缺少then...) Microsoft VB腳本 編譯器錯誤 (0x800A03FA)---語句格式錯誤(while循環(huán)語句中,只有while,沒有wend) Microsoft VB腳本 編譯器錯誤 (0x800A0400)---語法錯誤--語句不完整-語句塊中有結(jié)尾沒頭(只有end select,找不到select case)(只有end if,找不到if) Microsoft VB腳本 編譯器錯誤 (0x800A0401)---語句格式錯誤[rs.open="select * from sou_slwz where id in ("&selectbookid&")",conn,1,3] Microsoft VB腳本 編譯器錯誤 (0x800A0408)---類型不匹配或語句格式寫錯了 Microsoft VB腳本 編譯器錯誤 (0x800A0411)---變量已經(jīng)定義過 Microsoft VB腳本 編譯器錯誤 (0x800A0414)--- Active Server Pages, ASP 0126 (0x80004005)---找不到包含文件(如找不到conn.asp) Active Server Pages 錯誤 'ASP 0116'---缺少關(guān)閉腳本分隔符(如只有"<%"而沒有"%>") 錯誤類型: Microsoft VBScript 運(yùn)行時錯誤 (0x800A000D) /jk/vote/votesave.asp, 第 12 行 5 v_opti&votevalues 12 rs(v_optionname)=rs(v_optionname)+1 原因:rs的字段名不能是變量 錯誤類型: Microsoft VBScript 運(yùn)行時錯誤 (0x800A000D) /jk/vote/votesave.asp, 第 18 行 17if votevalues=1 then 18rs("v_option1")=rs("v_option1")+1 原因:rs("v_option1")是字符串,不是數(shù)值,不能做加法運(yùn)算 Microsoft VBScript 編譯器錯誤 (0x800A0411) /jk/index.asp, 第 9 行, 第 4 列 function checkurl(fstring) dim fstring,len2 ---^ 解決:在函數(shù)中不能定義fstring這一變量 Microsoft VBScript 編譯器錯誤 (0x800A0411) /jk/service/techlist.asp, 第 108 行, 第 4 列 dim pagespan ---^ 原因:重復(fù)定義 錯誤類型: Microsoft VBScript 運(yùn)行時錯誤 (0x800A005E) /jk/vote/votesave.asp, 第 16 行 16 rs("v_count1")=CLng(rs("v_count1"))+1 原因:rs("v_count1")的初始值為null Microsoft OLE DB Provider for ODBC Drivers 錯誤 ''80040e21'' 多步 OLE DB 操作產(chǎn)生錯誤。請檢查每個 OLE DB 狀態(tài)值。沒有工作被完成。 /bangong/public/adddoc3.asp,行45 44 rsnew.addnew 45 rsnew("fileid")=fieldid1 46 rsnew("send")=session("name") 原因:rsnew("fileid")已經(jīng)設(shè)定為標(biāo)識種子,而fieldid1是人為指定的id,當(dāng)最后一條紀(jì)錄被刪除后,重新添 加的id必須是最末的id+2而不是id+1,因此出錯。 修改:去掉rsnew("fileid")=fieldid1一行 錯誤類型: Microsoft VBScript 編譯器錯誤 (0x800A0400) /jk/product/newproduct.asp, 第 284 行, 第 32 列 if rs("data").actualsize>0 then and rs("prodcat")=3 then 原因:語法錯誤,多了一個then 錯誤類型: 請求對象, ASP 0208 (0x80004005) 調(diào)用 BinaryRead 后不能使用一般 Request 收集。 /jk/manager/fonews/fonewsadd_3.asp, 第 21 行 21 str2="select * from tblfonews where ID="&request("ID") 錯誤類型: 請求對象, ASP 0208 (0x80004005) 調(diào)用 BinaryRead 后不能使用一般 Request 收集。 /jk/manager/fonews/fonewsadd_3.asp, 第 64 行 64 ">查看記錄 解決:用id2=request("ID")來代替request("ID") 21 str2="select * from tblfonews where ID="&id2 64 查看記錄 錯誤類型: Microsoft OLE DB Provider for ODBC Drivers (0x80040E21) /jk/service/serlist.asp, 第 134 行 sql2="select * from sevice where ser_city="&request("city")&"" rs2.open sql2,conn,1,3 原因:sql語句錯誤,sevice應(yīng)為service 錯誤類型: Microsoft OLE DB Provider for ODBC Drivers (0x80040E21) /jk/service/serlist.asp, 第 174 行 Microsoft OLE DB Provider for ODBC Drivers 錯誤 ''80040e21'' ODBC 驅(qū)動程序不支持所需的屬性。 /product/prodlist.asp,行338 sqls="select series_id,series_name from prodseries where series_id="&rs("series_id")&"" 338 rss.open sqls,conn,1,1 原因:prodseries 表不存在,改為jke_prodseries Microsoft OLE DB Provider for ODBC Drivers 錯誤 ''80040e21'' 原因:正在用access修改數(shù)據(jù)庫,不能訪問 錯誤類型: Microsoft OLE DB Provider for ODBC Drivers (0x80040E37) /jk/service/serlist.asp, 第 134 行 sql2="select * from service where ser_city="&request("city")&"" rs2.open sql2,conn,1,3 原因:ser_city=''"&request("city")&"''"必須加單引號 錯誤類型: Active Server Pages, ASP 0113 (0x80004005) 超過了腳本運(yùn)行的最長時間。您可以通過指定 Server.ScriptTimeOut 屬性值來修改此限制或用 IIS 管理工具 來修改它。 /zs/index.asp 原因:數(shù)據(jù)庫無法連接 錯誤類型: Microsoft VBScript 編譯器錯誤 (0x800A0401) /dv/chkuser.asp, 第 8 行, 第 61 列 membername=checkStrrequest.cookies("VistaGroups")("username")) ------------------------------------------------------------^ 改為:membername=checkStr(request.cookies("VistaGroups")("username")) 錯誤類型: Microsoft VBScript 編譯器錯誤 (0x800A0411) /jk/manager/product/seriesedit.asp, 第 39 行, 第 17 列 dim strconn,conn,rs,sql,series_name,meno,lockpic,prodname,l,ch,i,prodcat ----------------^ 原因:參數(shù)重復(fù)定義 錯誤類型: Microsoft VBScript 編譯器錯誤 (0x800A0408) /jk/manager/product/seriesedit.asp, 第 133 行, 第 45 列 if trim(rs("prodcat"))="" then response.write " selected" |
|