北大青鳥(niǎo)通州校區(qū):.net常見(jiàn)錯(cuò)誤解決方案

北大青鳥(niǎo)通州校區(qū)學(xué)術(shù)部老師分享:

一.vs.NET在新建工程時(shí)彈出"Automation 服務(wù)器不能創(chuàng)建對(duì)象"的解決方案
原因是FileSystemObject創(chuàng)建失敗的問(wèn)題,
解決的方法:運(yùn)行Regsvr32 scrrun.dll

二. 錯(cuò)誤提示:
從客戶(hù)端(TextBox1="<!DOCTYPE HTML PUBLI...")中檢測(cè)到有潛在危險(xiǎn)的 Request.Form 值。
A potentially dangerous Request.Form value was detected from the client (txtTest="<b>"). 由于在.net中,Request時(shí)出現(xiàn)有HTML或JAVAscript等字符串時(shí),系統(tǒng)會(huì)認(rèn)為是危險(xiǎn)性值。立馬報(bào)錯(cuò)。
解決方案一:
在.aspx文件頭中加入這句:
<%@ Page validateRequest="false" %>

<configuration>
<system.web>
<pages validateRequest="false" />
</system.web>
</configuration>
因?yàn)関alidateRequest默認(rèn)值為true。只要設(shè)為false即可。

三.驗(yàn)證控件在服務(wù)器上失效?
解決方法:把本地c:\input\wwwroot下的aspnet_client復(fù)制到服務(wù)器根目錄下就可以正常使用了.

四.通過(guò)ADO.Net的Command執(zhí)行一條update 語(yǔ)句時(shí)提示 Operation must use an updateable query
這種錯(cuò)誤大多是由權(quán)限的問(wèn)題引起的。Access 數(shù)據(jù)庫(kù)是基于文件的,也就是說(shuō),對(duì)Access的任何修改必須在權(quán)限允許的情況下才能進(jìn)行。
解決方法:進(jìn)入Access數(shù)據(jù)庫(kù)所在的目錄(文件夾),在文件夾的權(quán)限中,設(shè)置 IUSER_ComputerName 的權(quán)限為“Change”,同時(shí),在數(shù)據(jù)庫(kù)文件的權(quán)限中,也要這樣進(jìn)行設(shè)置。
五.操作access,異常詳細(xì)信息: System.Data.OleDb.OleDbException: 操作必須使用一個(gè)可更新的查詢(xún)。
錯(cuò)誤“操作必須使用一個(gè)可更新的查詢(xún)”原因及解決辦法
錯(cuò)誤信息:
Microsoft OLE DB Provider for ODBC Drivers error '80004005'
[Microsoft][ODBC Microsoft Access 97 Driver] Operation must use an
updateable query.
或者是:
Microsoft JET Database Engine (0x80004005)
操作必須使用一個(gè)可更新的查詢(xún)。

原因:
有幾個(gè)主要的錯(cuò)誤原因:
這個(gè)錯(cuò)誤發(fā)生在當(dāng)你的程序試圖執(zhí)行更新數(shù)據(jù)庫(kù)或其它類(lèi)似操作時(shí)。這是因?yàn)?BR>ADO由于以下的幾個(gè)原因而不能夠?qū)憯?shù)據(jù)庫(kù)造成的。
1。最普遍的原因是匿名用戶(hù)帳號(hào)(IUSR_MACHINE)對(duì)該數(shù)據(jù)庫(kù)文件沒(méi)有寫(xiě)權(quán)限。
要解決這個(gè)問(wèn)題,在管理器中調(diào)整數(shù)據(jù)庫(kù)文件的屬性,讓匿名用戶(hù)有正確的權(quán)限。
當(dāng)使用ACCESS數(shù)據(jù)庫(kù)時(shí),不僅要給文件寫(xiě)的權(quán)限,還要給該目錄寫(xiě) 的權(quán)限,因?yàn)?BR>Jet需要在該目錄建立一個(gè).ldb文件。
2。第二個(gè)原因是數(shù)據(jù)庫(kù)沒(méi)有使用正確的模式打開(kāi)。應(yīng)該使用下面的方法打開(kāi)。
SQL = "UPDATE Products Set UnitPrice = 2;"
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Mode = 3 '3 = adModeReadWrite
Conn.Open "myDSN"
Conn.Execute(SQL)
Conn.Close
注意默認(rèn)的Mode是設(shè)置0(adModeUnknown),它是允許更新的。
3。還有可能是在ODBC管理器中將該DSN的只讀選項(xiàng)選中。
4。你是在同時(shí)更新兩個(gè)表中的字段,也會(huì)出現(xiàn)這個(gè)錯(cuò)誤信息,解決辦法是分開(kāi)來(lái)更新
這兩個(gè)表中各自字段。
5。當(dāng)你使用了一個(gè)從低版本中(如ACCESS2.0,ACCESS7.0)載入到高版本(ACCESS 2000)
中的查詢(xún)時(shí),在執(zhí)行這個(gè)查詢(xún)是會(huì)出現(xiàn)該錯(cuò)誤。(北大青鳥(niǎo)提供)

北大青鳥(niǎo)網(wǎng)上報(bào)名
北大青鳥(niǎo)招生簡(jiǎn)章