自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

淺析如何調(diào)試SQL CLR存儲(chǔ)過(guò)程

開(kāi)發(fā) 后端
添加一個(gè)通過(guò)調(diào)用該SQL CLR存儲(chǔ)過(guò)程來(lái)測(cè)試它的腳本。在“解決方案資源管理器”中,右擊“TestScripts”目錄,單擊“添加測(cè)試腳本”,然后插入下面的第二個(gè)示例部分中的代碼。

本文筆者用簡(jiǎn)練的語(yǔ)言對(duì)SQL CLR存儲(chǔ)過(guò)程的原理與方法對(duì)進(jìn)行講解,筆者列出了其中的注意事項(xiàng)。請(qǐng)大家仔細(xì)閱讀。

調(diào)試SQL CLR存儲(chǔ)過(guò)程,在一個(gè)新的 SQL Server 項(xiàng)目中,建立一個(gè)到 AdventureWorks 示例數(shù)據(jù)庫(kù)的連接。

使用下面第一個(gè)示例部分中的代碼創(chuàng)建一個(gè)新的SQL CLR存儲(chǔ)過(guò)程,并將其命名為“InsertCurrency.cs”。有關(guān)更多信息,請(qǐng)參見(jiàn)如何:使用 SQL Server 項(xiàng)目類型進(jìn)行開(kāi)發(fā)。

添加一個(gè)通過(guò)調(diào)用該SQL CLR存儲(chǔ)過(guò)程來(lái)測(cè)試它的腳本。在“解決方案資源管理器”中,右擊“TestScripts”目錄,單擊“添加測(cè)試腳本”,然后插入下面的第二個(gè)示例部分中的代碼。以名稱“InsertCurrency.sql”保存文件。右擊該文件名,然后單擊“設(shè)置為默認(rèn)調(diào)試腳本”。

在 InsertCurrency.cs 中設(shè)置斷點(diǎn),然后在“調(diào)試”菜單上單擊“啟動(dòng)”以對(duì)該項(xiàng)目進(jìn)行編譯、部署和單元測(cè)試。以黃色箭頭表示的說(shuō)明性指針在斷點(diǎn)上顯示時(shí),說(shuō)明正在調(diào)試存儲(chǔ)過(guò)程。嘗試不同的調(diào)試功能。

打開(kāi)“局部變量”窗口,并在“調(diào)試”菜單上單擊“單步執(zhí)行”以單步執(zhí)行SQL CLR存儲(chǔ)過(guò)程中的一行。注意,“局部變量”窗口中的變量 @mynvarchar 的值已經(jīng)更改,并且它的值現(xiàn)在顯示為紅色,表示它已經(jīng)更改。有關(guān)更多信息,請(qǐng)參見(jiàn) 使用“局部變量”窗口。

注意 

服務(wù)器可能不會(huì)反映在調(diào)試器窗口中對(duì)變量值的更改。

打開(kāi)“監(jiān)視”窗口。在“文本編輯器”中,拖動(dòng) InsertCurrencyCommand 變量到“監(jiān)視”窗口中的任意位置。

該變量隨即添加到受監(jiān)視的變量列表中。有關(guān)更多信息,請(qǐng)參見(jiàn)如何:使用調(diào)試器變量窗口。

注意   也可以在“監(jiān)視”窗口中編輯變量的值。

在文本編輯器中,右擊 InsertCurrencyCommand.ExecuteNonQuery 行并在快捷菜單上單擊“插入斷點(diǎn)”。

在“調(diào)試”菜單中單擊“繼續(xù)”,調(diào)試器將運(yùn)行代碼直到新的斷點(diǎn)。

再次單擊“繼續(xù)”完成對(duì)存儲(chǔ)過(guò)程的調(diào)試。

“輸出”窗口會(huì)顯示一條消息,表明已成功部署SQL CLR存儲(chǔ)過(guò)程,并會(huì)顯示執(zhí)行 InsertCurrency.sql 文件中的命令的結(jié)果。

示例

用此代碼替換SQL CLR存儲(chǔ)過(guò)程模板。

  1. using System;  
  2. using System.Data;  
  3. using System.Data.Sql;  
  4. using System.Data.SqlServer;  
  5. using System.Data.SqlTypes;  
  6. public partial class StoredProcedures  
  7. {  
  8.     [SqlProcedure]  
  9.     public static void InsertCurrency(SqlString currencyCode,   
  10.      SqlString name)  
  11.     {  
  12.         using(SqlConnection conn = new SqlConnection
  13. ("context connection=true")) {  
  14.         SqlCommand cmd = new SqlCommand([your SQL statement], conn);  
  15.         }  
  16.         InsertCurrencyCommand.CommandText = "insert Sales.Currency" 
  17.                      + " (CurrencyCode, Name, ModifiedDate) values('"   
  18.                      + currencyCode.ToString() + "', '"   
  19.                      + name.ToString() + "', '"   
  20.                      + DateTime.Now.ToString() + "')";  
  21.         InsertCurrencyCommand.ExecuteNonQuery();  
  22.     }  
  23. }  

這是用于執(zhí)行SQL CLR存儲(chǔ)過(guò)程的測(cè)試腳本。

  1.  - Delete any row that might exist with a key value  
  2. - that matches the one we are going to insert  
  3. DELETE Sales.Curr  
  4. ency  
  5. WHERE CurrencyCode = 'eee' 
  6. EXEC InsertCurrency 'eee''MyCurr4' 
  7. SELECT * FROM Sales.Currency WHERE CurrencyCode = 'eee' 

【編輯推薦】

  1. 淺析C#數(shù)組操作方法
  2. C#數(shù)組操作全面分析
  3. C#數(shù)組和串操作經(jīng)驗(yàn)總結(jié)
  4. 為你解疑:CLR是什么?
  5. 分析與對(duì)比CLR Via C#靜態(tài)構(gòu)造函數(shù)的性能
責(zé)任編輯:阡陌 來(lái)源: 51CTO.com
相關(guān)推薦

2009-10-22 13:02:47

SQL CLR存儲(chǔ)過(guò)程

2009-09-17 19:19:17

CLR存儲(chǔ)過(guò)程

2009-09-18 10:55:17

CLR存儲(chǔ)過(guò)程

2009-09-18 10:40:05

CLR存儲(chǔ)過(guò)程

2009-10-22 14:05:55

CLR存儲(chǔ)過(guò)程

2009-10-22 18:06:31

CLR存儲(chǔ)過(guò)程

2010-11-10 15:47:59

2011-09-01 15:24:22

SQL Server 存儲(chǔ)過(guò)程調(diào)試

2010-09-14 10:36:23

sql server存

2009-10-22 15:09:40

CLR存儲(chǔ)過(guò)程

2010-04-07 13:12:25

Oracle存儲(chǔ)過(guò)程

2010-07-13 10:35:20

SQL Server2

2009-09-18 13:47:17

CLR類庫(kù)

2010-09-16 17:46:22

SQL存儲(chǔ)過(guò)程

2009-07-22 15:58:34

JDBC調(diào)用Oracl

2011-09-01 16:13:37

Visual StudSQL Server 存儲(chǔ)過(guò)程

2010-10-29 16:06:55

Oracle存儲(chǔ)過(guò)程

2011-07-11 13:22:28

存儲(chǔ)過(guò)程

2009-09-18 09:59:39

C# CLR

2009-09-18 09:02:45

CLR Via C#
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)