主頁 > 知識庫 > ASP常見錯誤詳解及解決方案小結(jié) 推薦第1/2頁

ASP常見錯誤詳解及解決方案小結(jié) 推薦第1/2頁

熱門標(biāo)簽:外呼線路批發(fā) 世界地圖標(biāo)注了哪些城市 濟(jì)源電銷外呼系統(tǒng)線路 武穴地圖標(biāo)注 創(chuàng)意電話機(jī)器人 梧州市地圖標(biāo)注 地圖標(biāo)注陽江 java外呼系統(tǒng)是什么 石家莊慧營銷外呼系統(tǒng)
有三種主要的錯誤類型:
1.編譯錯誤:
這種錯誤出現(xiàn)一般都是代碼的語法問題。因?yàn)榫幾g錯誤而導(dǎo)致辭ASP停止運(yùn)行。
2.運(yùn)行錯誤:
這個錯誤是發(fā)生在你準(zhǔn)備運(yùn)行ASP時的。例如:如果你試圖給一個變量賦值,但是卻超出了該變量允許的范圍。
3.邏輯錯誤:
邏輯錯誤是最難被發(fā)現(xiàn)的,這種錯誤經(jīng)常是一種結(jié)構(gòu)錯誤,電腦是發(fā)現(xiàn)不了的。這就需要我們徹頭徹尾地檢查我們的代碼。
因?yàn)榫幾g錯誤一般是和邏輯錯誤一起發(fā)生的,一般都能顯示出來,所以我們擔(dān)心的就只是運(yùn)行錯誤。它都終止ASP的運(yùn)行,而且給用戶丟下一堆很不友好的文字。 那么我們要怎樣處理運(yùn)行錯誤呢?

錯誤類型:
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)行處理。

錯誤類型:
(0×80020009)
發(fā)生意外。
原因:也是在利用SQL查找數(shù)據(jù)庫記錄時,查找結(jié)果為空,而且你在后面的代碼中調(diào)用了rs(“aa”)之類的記錄
解決:要么同上,加上rs.eof的判斷和處理,要么就是你的SQL語句有誤,導(dǎo)致記錄查不出來,也就無法在后來使用rs(“aa”)的記錄了。

錯誤類型:
Active Server Pages, ASP 0126 (0×80004005)
找不到包含文件 ‘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 (0×80004005)
[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)限為所有,即除了第一個外全部打勾,確定之后再刷新就可以用了。(注:如果找不到“安全”選項,則在任意一個文件夾下點(diǎn)擊“工具”,然后是“文件夾選項”--“查看”,在“使用簡單文件共享”一欄把勾去掉即可)

錯誤類型:
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)容是否為空。

Microsoft VBScript 編譯器錯誤 錯誤 '800a03f6′
ODBC 驅(qū)動程序不支持所需的屬性。
原因:可能是因?yàn)闆]有sql語句里出現(xiàn)的字段名,一般為字段名或sql關(guān)鍵字書寫錯誤。也有可能是sql所要打開的表已經(jīng)被獨(dú)占打開。
解決方法:檢查sql語句里出現(xiàn)的每個字段名,和每個關(guān)鍵字
Microsoft OLE DB Provider for ODBC Drivers 錯誤 '80004005′
機(jī)器 ‘HDZC-3JQSKBWO02′ 上的用戶 ‘Admin' 以獨(dú)占方式的鎖定數(shù)據(jù)表'order_detail'。
原因:sql所需的表被access以表設(shè)計形式打開著
解決方法:關(guān)閉表設(shè)計
Microsoft VBScript 編譯器錯誤 錯誤 '800a03f6′
在對應(yīng)所需名稱或序數(shù)的集合中,未找到項目。
原因:沒有sql語句里出現(xiàn)的字段名,一般為字段名或sql關(guān)鍵字書寫錯誤
解決方法:檢查sql語句里出現(xiàn)的每個字段名
ADODB.Recordset 錯誤 '800a0e78′
對象關(guān)閉時,不允許操作。
原因:在rs.open sql,conn,3,3語句之前使用了rs.close關(guān)閉了rs對象
解決方法:去掉之前的rs.close

Microsoft OLE DB Provider for ODBC Drivers 錯誤 '80040e14′
[Microsoft][ODBC Microsoft Access Driver] 語法錯誤 (操作符丟失) 在查詢表達(dá)式 ‘oid form classtree where oid = 25′ 中。
原因:在sql語句中存在非法書寫的英文關(guān)鍵字或子段錯誤
解決方法:把sql語句打出來,然后逐個單詞對照,查找出書寫的錯誤
操作要求一個可更新的查詢
答:看看庫文件是不是只讀了。
答2:經(jīng)過排序(order by) 的記錄集(rs)不允許有更新操作(rs.update)

3219 操作在該內(nèi)容中不被允許
答3:數(shù)據(jù)庫字段屬性是否設(shè)置為允許空值插入。
adErrInvalidArgument 3001
0x800A0BB9
應(yīng)用程序使用的參數(shù)其類型錯誤、超出可接受的范圍或者與其他參數(shù)沖突。

adErrNoCurrentRecord 3021
0x800A0BCD
BOF 或 EOF 為 True,或者當(dāng)前記錄已經(jīng)刪除。應(yīng)用程序請求的操作需要當(dāng)前記錄。

adErrIllegalOperation 3219
0x800A0C93
應(yīng)用程序請求的操作不允許出現(xiàn)在該上下文中

adErrInTransaction 3246
0x800A0CAE
在事務(wù)中應(yīng)用程序無法顯式關(guān)閉 Connection 對象。

adErrFeatureNotAvailable 3251
0x800A0CB3
提供者不支持應(yīng)用程序請求的操作。

adErrItemNotFound 3265
0x800A0CC1
ADO 無法在對應(yīng)于應(yīng)用程序請求的名稱或順序引用的集合中找到對象。

adErrObjectInCollection 3367
0x800A0D27
無法追加,對象已經(jīng)在集合中。

adErrObjectNotSet 3420 0x800A0D5C 應(yīng)用程序引用的對象不再指向有效的對象。

adErrDataConversion 3421
0x800A0D5D
應(yīng)用程序使用了不符合對當(dāng)前操作的值類型。

adErrObjectClosed 3704
0x800A0E78
如果對象關(guān)閉,則不允許應(yīng)用程序請求的操作。

adErrObjectOpen 3705
0x800A0E79
如果對象打開,則不允許應(yīng)用程序請求的操作。

adErrProviderNotFound 3706
0x800A0E7A
ADO 找不到指定的提供者。

adErrBoundToCommand 3707
0x800A0E7B
應(yīng)用程序無法用 Command 對象將 Recordset 對象的 ActiveConnection 屬性更改為它的來源數(shù)據(jù)。

adErrInvalidParamInfo 3708
0x800A0E7C
應(yīng)用程序錯誤地定義了 Parameter 對象。

adErrInvalidConnection 3709
0x800A0E7D
應(yīng)用程序通過引用關(guān)閉或無效的 Connection 對象來請求對對象的操作。
ADODB.Field 錯誤 '80020009′ BOF 或 EOF 中有一個是“真”,或者當(dāng)前的記錄已被刪除,所需的操作要求一個當(dāng)前的記錄。
解決如下:這個錯誤是因SELECT、DELETE的記錄不存在,或者庫中沒有記錄所引起的,所以檢查SQL語句,SELECT、DELETE的條件是否正確,還有在DELETE前最好SELECT一個記錄或者用On Error Resume Next…….On Error Goto 0來處理。如果是因?yàn)閹熘袥]記錄,只要加個判斷If objRecordSet.Eof And objRecordSet.Bof Then就可以了,因?yàn)榇蜷_RecordSet時,指針默認(rèn)是指在最面的,所以可以只用If objRecordSet.Eof Then來判斷

ActiveServerPages,ASP0126(0×80004005)–>找不到包含文件

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(0×80004005)–>sql語句出錯(要插入或更新的字段的數(shù)值不能為空值)
MicrosoftOLEDBProviderforODBCDrivers(0×80004005) –>打開數(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ù)
12下一頁閱讀全文

標(biāo)簽:來賓 淮北 唐山 甘南 滁州 南寧 迪慶 揭陽

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《ASP常見錯誤詳解及解決方案小結(jié) 推薦第1/2頁》,本文關(guān)鍵詞  ASP,常見,錯誤,詳解,及,解決方案,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《ASP常見錯誤詳解及解決方案小結(jié) 推薦第1/2頁》相關(guān)的同類信息!
  • 本頁收集關(guān)于ASP常見錯誤詳解及解決方案小結(jié) 推薦第1/2頁的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章