visual studio 調試總結

來源:互聯網
上載者:User
visual studio 調試總結上一次整了個VS2003的,結果反應甚好,當然能協助大家在程式調試過程中提高效率不失是一件快樂的事,這次也是根據一個項目開發過程中所碰到的種種問題,俺把他記下來了,同時在網站搜集了一些問題及解決方案,一來做個記錄好讓自己以後可以有章可查,二來發出來給大家分享.分享技術,分享快樂,一直是俺們網站電子期刊的宗旨.希望大家喜歡:)   廢話少說:我們要給大家有用的東西才行,希望以下這些東東,能給大家帶來協助.謝謝:) 如果您認為這篇文章對您有用,歡迎您轉載,請您註明來自"德仔工作室",俺們是不會去索要專利費的,你放心.

1.檢測到有潛在危險的 Request.Form 值

原因: 

(1)在提交資料的頁面或webconfig中沒有對validateRequest的屬性進行正確的設定

(2)HTML裡面寫了兩個<form>引起

解決: 
方案一: 在.aspx檔案頭中加入這句: <%@ Page validateRequest="false"  %> 
方案二: 修改web.config檔案:
 <configuration>
  <system.web> 
  <pages validateRequest="false" /> 
  </system.web> 
  </configuration> 
因為validateRequest預設值為true。只要設為false即可。

2.“在沒有任何資料時進行無效的讀取嘗試”解決辦法

-原因:
所返回的sqldatareader無資料記錄,但沒有作記錄判斷力處理。返回的是空值

加上判斷即可: if (reader.read()) { TextName.Text = 
reader["FieldName"].ToString(); } 

3.資料為空白。不能對空值調用此方法或屬性。

原因:
若對象是null,那麼調用對象的方法例如ToString()肯定出錯一般是資料庫欄位的值為空白
在grideview等資料控制項常出現

解決:因此建議作NULL處理

4.閱讀器關閉時 FieldCount 的嘗試無效

原因:
使用了SqlDataReader來綁定資料後,將connection對象作了Close()處理 
類似 
public SqlDataReader   GetSomething()
{   
conn.open();  
 SqlDataReader   reader = 
sqlcmd.ExcecutReader(CommandBehavior.CloseConnection));  
 conn.close();// occur error   here   
 return   reader;   
 } 
在綁定的時候調用了這個方法來指定資料來源。如果使用這個方法則需要在調用函數中關閉Re 
ader這樣conn就可以自動關閉。 

如果是使用的是SqlDataAdapter和DataSet那麼請去掉顯式關閉conn的調用。或者在finally 
中調用之。

5.未能映射路徑

原因:可能是在webconfig中的路徑配置不正確所致,在FCKEditor的配置中這種問題比較突出

<add key="FCKeditor:BasePath" value="~/admin/fckeditor/"/>

<add key="FCKeditor:UserFilesPath" value="/UserFiles/" />

6.Unreachable code detected

 原因:
 一般是在異常處理理或傳回值時使用了 throw 或return ,可能是其位置放在前面,造成後面的代碼執行到了。

解決:
 把相關的異常拋出處理的語句(throw)或return 的語句放到代理執行的最後一行。

 7.索引超出範圍。必須為非負值並小於集合大小

 原因:
 (1).沒有設定DATAKEYFIELD設為資料庫中相對應的唯一欄位(一般是主鍵) 
 
 (2).DataGrid1.Columns > e.Item.Cells

解決:
(1).設定datakeyfield

(2).加入判斷語句datagrid1.item.count (datagrid可以是其它相類似的伺服器控制項)

9資料來源不支援伺服器端的資料分頁。

解決方案:
不要使用DataReader,改成使用DataSet:或使用自訂分頁形式,不採用vs.net提供的分頁功能

        OleDbDataAdapter da = new OleDbDataAdapter(sql, connection);
        DataSet ds2 = new DataSet();
        da.Fill(ds2, "News");

        GridView1.DataSource = ds2;
        GridView1.DataBind();


10.對象名'***** '無效

原因:當前使用的資料庫中沒有*****這張表

解決: 查看是否程式中是否寫錯了所調用的表的名稱或看一下SQL資料庫中是否存在你所調用的表

11.在建立與伺服器的串連時出錯。在串連到 SQL Server 2005 時,在預設的設定下 SQL 
  Server 不允許進行遠端連線可能會導致此失敗。 (provider: 具名管道提供者, 
  error: 40 - 無法開啟到 SQL Server 的串連) 

solution: 主機上需要用固定的IP地址或伺服器位址

12.SqlDateTime 溢出。必須介於 1/1/1753 12:00:00 AM 和 12/31/9999 11:59:59 PM 
之間。

出現這種問題``多半是因為你更新資料庫時``datetime欄位值為空白``預設插入0001年01月01 
日``造成datetime類型溢出

13.出現-------表示“屬性”,此處應為“方法”

原因: 
1.VB與c#的方法,屬性的格式有所不一樣導致。 
2.可能是在design中綁定資料的文法出現錯誤 解決: 1.記住屬性用[] 方法用() 
2.記住綁定資料的正確文法(有以下幾種方式::<%Container.DataItem(“欄位名”)%> <% 
#Eval(“欄位名”)%> <%Bind(“欄位名”)%>等)

14.未能從程式集“DAL, Version=1.0.0.0, Culture=neutral, 
PublicKeyToken=null”中載入類型“DAL.SqlHelper”。 

原因:修改了其他層後未能重新編譯成dll

解決:編譯一下(Rebuild)

15.為過程或函數 指定的參數太多,

solution:調用預存程序與定義的預存程序所用的參數數量或所執行的SQL語句中所傳入的參 
數個數不一致(這是個SQL的錯誤) 
解決方案:仔細檢查在預存程序中所設定的參數變數,與實際輸入的參數值是否一一對應

16.無法啟動調試,綁定控制代碼無效

原因:系統的Terminal   Services沒有開啟

17.Unable to debugging on the web server.Debug failed  because integrated windows authentication is not enable

解決方案:

開啟vs2005->工具(Tools)->選項(Option)->調試(debugging)->編輯並繼續(Edit and Continue)->全部打勾

18.Automation 操作中檔案名稱或類名未找到: 'RegExp' 

解決方案:regsvr32 vbscript.dll


19.System.NullReferenceException: 未將對象引用設定到對象的執行個體。 

原因:

(1)所設定的變數為空白值或沒有取到值,一般出現在傳遞參數的時候出現這個問題,也會在使用datagrid或gridview或datalist等資料控制項時出現.

(2)控制項名稱與codebehind裡面的沒有對應 

(3)未用new初始化對象

(4)在程式中所引用的控制項不存在

解決方案:
(1)使用try..catch...finally捕捉錯誤,或直接用response.write()輸出所取的變數值

(2)查看代碼中是否存在未初始化的變數

20.錯誤 1718。檔案被數位簽章策略拒絕(安裝vs2005sp1時)解決方案:

(1). 單擊“開始”,單擊“運行”,鍵入 control admintools,然後單擊“確定”。 
(2). 雙擊“本地安全性原則”。 
(3). 單擊“軟體限制策略”。(注意:如果未列出軟體限制,請右擊“軟體限制策略”,然後單擊“建立策略”。 )
(4). 在“物件類型”下,雙擊“強制”。 
(5). 單擊“除本地管理員以外的所有使用者”,然後單擊“確定”。 
(6). 重新啟動電腦。 

微軟說明:
http://support.microsoft.com/kb/925336 

21.vs2005不能從源檔案模式切換到視圖模式

解決方案:dos下運行下 devenv /resetskippkgs (win+r cmd)

22.Validation of viewstate MAC failed
解決辦法:頁面的頂部page加 EnableViewState="False" EnableViewStateMac = "False" 來解決這個問題

23.Automation server can't create object"(Automation 伺服器不能建立)

解決辦法:運行: Regsvr32 scrrun.dll 即可。 

24.包載入失敗

未能正確載入包"Visual Web Developer Trident Designer Package"(GUID =

{30AE7E28-6C02-496D-8E43-85F7A90AEFF1}。

解決方案:
1、設定系統變數 VsLogActivity=1

2、在%APPDATA%\Microsoft\VisualStudio\8.0\檔案夾下建立檔案ActivityLog.xml 

Error

Microsoft Visual Studio

LoadLibrary failed for package [Visual Web Developer Trident Designer Package]

{30AE7E2B-6C02-496D-8E43-85F7A90AEFF1}

--------------------------------------------------------------------------------
8007007e

c:\Program Files\Microsoft Visual Studio 8\Common7\Packages\tridsn.dll

3、從 WINNT\MicroSoft.NET\Framework\v2.0.xxx 複製檔案gdiplus.dll 到 Program Files\Visual Studio 8\Common7\Packages檔案夾下

4、在命令列下運行命令 :devenv /resetskippkgs 

25.Error spawning 'cmd.exe'.

解決方案:把cmd.exe 拷貝到VS安裝目錄下的VC/BIN目錄裡,可以解決問題。

26.嘗試讀取或寫入受保護的記憶體

解決:硬體有問題,一般記憶體有問題

27.無法在憑證存放區區中找到清單簽署憑證

解決方案:用記事本開啟項目的.csproj檔案,刪除類似

28.該項目中不存在目標“ResolveKeySource”。 

原因:這個問題很罕見,查詢國外相關資料後,大致說是由於部署的不是一個標準的solution, 需要在VS內建的命令提示中運行下面這個東西恢複

解決方案:
(1).將下列代碼存為XML檔案,命名為TestBuild.xml
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

 

      <PropertyGroup>

            <TargetConnectionString>Data Source=.\sql2005%3BUser ID=SqlUser%3BPooling=False%3BPassword=X</TargetConnectionString>

      </PropertyGroup>

      <ItemGroup>

            <DatabaseProject Include="Database1\Database1.dbproj"/>

            <DatabaseProject Include="Database2\Database2.dbproj"/>

      </ItemGroup>

 

      <Target Name="BuildAllDatabaseProjects">

            <MSBuild

            Properties="TargetConnectionString=$(TargetConnectionString)" 

            Projects="@(DatabaseProject)"

            Targets="Build;Deploy">

            </MSBuild>

      </Target>
      
    (2)在命令提示中運行:msbuild /t:BuildAllDatabaseProjects TestBuild.xml

 

</Project>

29.不能將值 NULL 插入列 '**'

原因:這是資料庫表設計的錯誤,所涉及的表的欄位中設定了不可為空的屬性,但是傳入的值為null,所以報錯

解決方案:查看是否所傳入的值是否為Null,或修改資料庫中表的所對應的列的屬性

30.未能載入類型"命名空間.類"... 

原因:
(1)項目修改後沒有進行編譯
(2)項目中原有的命名空間可能被修改了
(3)項目中所需要的ascx或其他頁面不存在,或不包含在項目中

解決方案:
(1)在修改完成之後,請重建或編譯整個項目或解決方案
(2)手工修改所改動的命名空間,注意名稱的大小寫,再重新編譯
(3)將相關的檔案包含在項目中

31.不能訪問唯讀檔案“****.***"
解決方案:
給虛擬目錄所對應的檔案加上“Everyone/寫入”許可權即可

32.請求因 HTTP 狀態 401 失敗:Access Denied解決方案:在iis資訊服務器上把匿名訪問和允許iis控制密碼給勾上

33.有一個無效 SelectedValue,因為它不在項目列表中

原因:
(1)在沒有綁DropDownList之前就給DropDownList1.SelectedValue 賦值
(2)dropdownlist中出現了null值

34.無法在“”已存在的情況下建立/影像複製該檔案。

解決方案:重新編譯項目(多個project全部重新編譯),關閉vs,重新開啟,必要時重新啟動機子。


35.使用者 'C\ASPNET' 登入失敗登入失敗。 
異常詳細資料: System.Data.SqlClient.SqlException: 使用者 'COO\ASPNET' 登入失敗。 
這是怎麼回事啊?

因為你的程式串連SQLServer的連接字串是用了windows整合登陸,你可以改成用資料庫帳號密碼登陸。連接字串的寫法是: 

server=localhost;uid=sa;pwd=xxxx;database=master; 

server是資料庫伺服器的機器名或者IP,如果是同一台機可以用localhost 

uid是資料庫登陸帳號 

pwd是資料庫密碼 

database是資料庫初始owner名稱

答案:

1、右擊案頭我的電腦,選擇“管理”,雙擊開啟的“電腦管理”對話方塊中的“本機使用者和組”下的“組” 在右邊的視窗中雙擊“Remote Desktop Users”組,在開啟的“Remote Desktop Users”屬性對話方塊中 單擊添加,在開啟的“添加使用者”對話方塊中單擊“進階”,再單擊“立即尋找”按鈕,在“搜尋”結果中 雙擊ASPNET(如果是IIS6.0“NETWOR SERVERCE”)再點擊兩次確定完成添加“使用者” 

2、單擊“開始”--“所有程式”--“Microsoft SQL Server”--“企業管理器”在開啟的“控制台根目錄” 選擇相應的資料庫,右擊該資料庫的中的“使用者”,選擇“建立資料庫使用者”。在“建立使用者”對話 框中點擊“登陸名”右側的下拉式清單方塊,選擇“建立”,開啟“建立登陸對話方塊”。點擊名稱右側的 省略符號按鈕,在開啟的對話方塊中將“列出的名稱”中選擇“原生名稱”,再在下面的名稱框中選定“Remote Desktop Users”,然後點擊“成員”按鈕,雙擊 ASPNET(如果是IIS6.0“NETWOR SERVERCE”),然後點擊確定,在“建立登陸對話 框”中的預設設定的“資料庫”選項中選擇相應的資料庫名稱,再在“資料庫訪問”選項下勾選相應 的資料庫點擊確定,完成將ASP.net預設的匿名使用者添加到SQL 
 

36.使用者 'nt authority\network service' 登入失敗。
1> sqlserver 調成sql server  和windows驗證模式

2>
 (以下方法僅供參考)
第一步:把'NT AUTHORITY\NETWORK SERVICE' 添加到Administrator組中
我的電腦-->右鍵-->管理-->本機使用者和組
選擇“組”-->雙擊Administrators-->單擊“添加”-->單擊“進階”-->單擊“立即尋找”-->在下面的列表中選擇Network Service使用者-->兩次單擊“確定”-->加入。

第二步 在企業管理器中加入NetWord Service使用者
開啟Sql Server企業管理器-->選擇資料庫執行個體-->開啟“安全性”節點-->選擇“登入”-->在右邊的列表中單擊右鍵-- >選擇“建立登入”-->在“常規”選項卡中單擊“名稱”旁邊的按鈕“...”-->選擇“Administrators”組-- >單擊下面的“成員”按鈕-->選擇“Network Service”-->單擊“添加”按鈕-->單擊“確定”,返回“建立登入”對話方塊-->保證身分識別驗證類型為“windows驗證” 和“允許訪問”-->單擊“確定”-->關閉“企業管理器”

第三步
重新運行asp.net程式,資料庫連接字串選擇windows驗證即可。

3> 在sqlserver中添加帳戶或IIS_WPG工作群組

此方法來自於http://www.cnblogs.com/677/archive/2006/11/03/549104.aspx

37.未能載入檢視狀態。正在向其中載入檢視狀態的控制項樹必須與前一請求期間用於儲存檢視狀態的控制項樹相匹配。例如,當以動態方式添加控制項時,在回傳期間添加的控制項必須與在初始請求期間添加的控制項的類型和位置相匹配。

原因:viewstate的在Asp.net作用是將控制項的狀態儲存,在下次Post給伺服器,伺服器進行恢複控制項的狀態。(控制項的狀態包括:值和事件。)

解決方案:
(1)每一個UserControl的viewstate都改為false

(2)加入這個:
this.Page.EnableViewState = false; 

此方法來源於:http://www.cnblogs.com/king_astar/archive/2005/06/01/165763.html

38.“由於啟動使用者執行個體的進程時出錯,導致無法產生 SQL Server 的使用者執行個體。該串連將關閉。”
問題原因:
這是微軟的bug,並且微軟已經承認,詳情如下:http://support.microsoft.com/?id=896613
出現此錯誤的條件是:你用過遠端桌面連線,並且安裝了SQL2005+VS2005,就有很大可能觸發這個問題,微軟說會在將來的XP SP3裡面解決掉這個問題。

解決:
http://forums.microsoft.com/MSDN/Sho ... ID=128707&SiteID=1
如果你看不懂英文,那麼我告訴你我的解決辦法:
刪除C:\Documents and Settings\[USERNAME]\Local Settings\Application Data\Microsoft\Microsoft SQL Server Data\SQLEXPRESS目錄即可,[USERNAME]是Windows使用者名稱,比如說Administrator

此問題來於http://blog.csdn.net/xiong1000/

39.Server Application Unavailable 

The web application you are attempting to access on this web server is currently unavailable.  Please hit the "Refresh" button in your web browser to retry your request. 

Administrator Note: An error message detailing the cause of this specific request failure can be found in the application event log of the web server. Please review this log entry to discover what caused this error to occur. 

解決:

如果你運行WinXP/IIS 5.1,為了給ASPNET背景工作處理序訪問你的web工程檔案夾的權力請到網站檔案所在的目錄,右鍵一級檔案夾,選Security-Add-鍵入“ASPNET”,點擊OK或點擊Check Names,如果彈出對話方塊提示“Name not Found”則應點擊Locations改變位置到本機電腦名稱,點擊OK,分配此使用者權限為“Full Control”點擊OK。

錯誤變為:
You are not authorized to view this page

You do not have permission to view this directory or page using the credentials you supplied.

解決:

在IIS裡右鍵此虛擬目錄-Properties-Directory Security-Edit-勾選上Integrated Windows authentication即可。

40.逾時時間已到。逾時時間已到,但是尚未從池中擷取串連。出現這種情況可能是因為所有池串連均在使用,並且達到了最大池大小。 

可能原因如下:並行作業,Connection用後沒有關閉,或者因為DataReader串連獨佔串連。

解決方案:
          1 修改幾個關鍵頁面或訪問比較頻繁的資料庫訪問操作,使用DataAdapter和DataSet來擷取資料庫資料,不要使用DataReader。
          2 在訪問資料庫的頁面上使用資料緩衝,如果頁面的資料不是經常更新(幾分鐘更新一次)的話,使用Cache對象可以不用訪問資料庫而使用緩衝中的內容,那麼可以大大減少串連數量。
          3 修改代碼,把使用Connection對象的地方都在Close()後面加上Dispose()調用。
          4 建議對資料庫操作進行大的修改,建立自己的資料庫操作代理類,繼承System.IDisposable介面,強迫釋放資源,這樣就不會出現串連數量不夠的問題了

41包載入失敗

未能正確載入包"Visual Web Developer Trident Designer Package"(GUID =

{30AE7E28-6C02-496D-8E43-85F7A90AEFF1}。請與包供應商聯絡以獲得協助。由於可能會發生環境損壞,建議重新啟動應用程式。要禁止將來將來載入此包嗎?可以使用“devenv .reswetskippkgs”重新啟用包載入。
 

每次開機開啟vs2005都會有這個提示,煩...

於是在google了一下,發現很多方法都試過了,只有一個解決一試就行

解決方案如下:

1、設定系統變數 VsLogActivity=1

2、在%APPDATA%\Microsoft\VisualStudio\8.0\檔案夾下建立檔案ActivityLog.xml 

3、從 WINNT\MicroSoft.NET\Framework\v2.0.xxx 複製檔案gdiplus.dll 到 Program Files\Visual Studio 8\Common7\Packages檔案夾下

4、在命令列下運行命令 :devenv /resetskippkgs 

注:發現此問題只有在win2000會出現,win2003就不會出現這個問題.

42.使用者"xxx\ASPNET登入失敗"
第一步
把'NT AUTHORITY.NetWORK SERVICE' 添加到Administrator組中 
我的電腦-->右鍵-->管理-->本機使用者和組 
選擇“組”-->雙擊Administrators-->單擊“添加”-->單擊“進階”-->單擊“立即尋找”-->在下面的列表中選.Network Service使用者-->兩次單擊“確定”-->加入。

第二步 在企業管理器中加.Network Service使用者 
開啟Sql Server企業管理器-->選擇資料庫執行個體-->開啟“安全性”節點-->選擇“登入”-->在右邊的列表中單擊右鍵-->選擇“建立登入”-->在“常規”選項卡中單擊“名稱”旁邊的按鈕“...”-->選擇“Administrators”組-->單擊下面的“成員”按鈕-->選擇.Network Service”-->單擊“添加”按鈕-->單擊“確定”,返回“建立登入”對話方塊-->保證身分識別驗證類型為“windows驗證”和“允許訪問”-->單擊“確定”-->關閉“企業管理器” 

第三步 
重新運行asp.Net程式,資料庫連接字串選擇windows驗證即可。

以上針對win2003,如果是win2000 加ASp.Net使用者 

43.無法在“”已存在的情況下建立/影像複製該檔案
解決方案:重新編譯整個項目 或者重啟電腦

44.Could not create an environment: OCIEnvCreate returned -1
解決方案一:
              主要是將oracle主目錄oracle\的讀寫權限賦予asp.net或者是IUSER_..和IWAM_..,重啟電腦。

解決二:

開啟在IIS中的WEB屬性--主目錄--執行許可權【改為-指令碼和可執行檔】;

-應用程式集區【改為-MSSharePointAppPool】,重新整理OK;

解決三:
檔案夾許可權可以不用管。

設定ORACLE_HOME變數的方法如下

控制台>>系統>>進階>>環境變數>>系統變數>>建立系統變數

變數名寫ORACLE_HOME
變數值添實際的ORACLE_HOME路徑,在註冊表中有

45.由於目標機器積極拒絕,無法串連

在添加完引用後, 用localhost替換掉所有的localhost:2473,重新編譯

46.能載入檢視狀態。正在向其中載入檢視狀態的控制項樹必須與前一請求期間用於儲存檢視狀態的控制項樹相匹配。例如,當以動態方式添加控制項時,在回傳期間添加的控制項必須與在初始請求期間添加的控制項的類型和位置相匹配

解決:在頁面的  Page 項添加 EnableViewState="false" 即可

46.在以下方法或屬性之間的調用不明確:“method1”和“method2”

因隱式轉換的緣故,編譯器無法調用重載方法的某種形式。可以用以下方法糾正該錯誤: 

以不發生隱式轉換的方式指定此方法的參數。 

移除此方法的所有重載。 

在調用方法之前,強制轉換到正確的類型。

47.在應用程式層級以外使用註冊為 allowDefinition='MachineToApplication' 

解決:在網站對應的虛擬目錄上右鍵,選屬性,然後在應用程式名稱後點建立,名字隨便填
[子目錄不會繼承上級的屬性,所以要將aspx檔案所在的目錄屬性設定正確]

48.無法識別的配置節“connectionStrings”
原因:

用vs2005開發的asp.net應用程式需要使用.net framework 2.0,而在iis中的預設.net環境是1.1。這時將發生不可識別的節點的問題。

解決辦法:

將.net環境升級為2.0,開始-》運行-》cmd-》

C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -i

49.Timeout expired.  The timeout period elapsed prior to obtaining a connection from the pool.  This may have occurred because all pooled connections were in use and max pool size was reached. 
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. 

Exception Details: System.InvalidOperationException: Timeout expired.  The timeout period elapsed prior to obtaining a connection from the pool.  This may have occurred because all pooled connections were in use and max pool size was reached.

主要原因可能有:

1.使用了串連池,大量的sqlconnection用了後忘記關閘門,導致SQL佔用嚴重,可以用  exec sp_who 這個預存程序查看一下
2.串連池的串連數有所限制

解決方案:
1.釋放串連池,調用Connection對象的Close()方法關閉資料庫連接
2.利用try catch finally對資料庫連接進行異常處理。當無法串連資料庫時將拋出異常,並顯示出錯資訊,見catch代碼塊所示。在此程式中,無論是否發生異常,都可以通過finally區塊關閉資料庫的串連,從而節省電腦資源
3.將SqlConnection對象包含到using區塊中,這樣程式會自動調用Dispose()方法釋放SqlConnection對象所佔用的系統資源,無需再使用SqlConnection對象的Close()方法
3.指定min pool size表示串連池允許的最小串連數(預設為0)。下面的代碼指定了SqlConnection對象的max pool size為10,min pool size為5。
SqlConnection mySqlConnection = new SqlConnection("server=localhost;database=Northwind;

integrated security=SSPI;"+"max pool size=10;min pool size=5");  50.指定的轉換無效。 temp.AdminPassWord = sdr.GetString(sdr.GetOrdinal("AdminPassWord"));
//temp.AdminPassWord = Convert.ToString(sdr["AdminPassWord"]);當資料表欄位的值為空白時(類型不正確除外)第一條將出現異常,應使用第二條來完成.
51. DropDownList不能同時選中兩個選項  在使用下面語句來解決:先清空選擇項  this.Ddl_Sex.ClearSelection();
      this.Ddl_Sex.Items.FindByValue(User_StuInfo.StuSex).Selected = true;52.錯誤 1 'EXTERNAL' 附近有語法錯誤。您可能需要將當前資料庫的相容層級設定為更高的值,以啟用此功能。有關預存程序 sp_dbcmptlevel 的資訊  

開啟查看SQL Server Management Studio,按照以下步驟操作:

1.滑鼠右鍵選擇使用的資料庫,點擊屬性.
2.選擇-選項-相容層級:SQL Server 2005(90).
或執行EXEC dbo.sp.dbcmptlevel @dbname=N'database_name', @new_cmptlevel=90
3.選擇-檔案-所有者:輸入資料庫的使用者
或執行:ALTER AUTHORIZATION ON DATABASE::database_name TO [domainname\username]
4.點擊確定操作完成.

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.