新聞中心
運(yùn)用了SQL CLR存儲(chǔ)過(guò)程很長(zhǎng)時(shí)間了,有一點(diǎn)點(diǎn)的小積累,在這里和大家分享一下,看看對(duì)大家有沒(méi)有幫助。在一個(gè)新的 SQL Server 項(xiàng)目中,建立一個(gè)到 AdventureWorks 示例數(shù)據(jù)庫(kù)的連接。有關(guān)更多信息,請(qǐng)參見(jiàn)如何:連接到數(shù)據(jù)庫(kù)。使用下面第一個(gè)示例部分中的代碼創(chuàng)建一個(gè)新的存儲(chǔ)過(guò)程,并將其命名為“InsertCurrency.cs”。有關(guān)更多信息,請(qǐng)參見(jiàn)如何:使用 SQL Server 項(xiàng)目類型進(jìn)行開發(fā)。添加一個(gè)通過(guò)調(diào)用SQL CLR存儲(chǔ)過(guò)程來(lái)測(cè)試它的腳本。在“解決方案資源管理器”中,右擊“TestScripts”目錄,單擊“添加測(cè)試腳本”,然后插入下面的第二個(gè)示例部分中的代碼。以名稱“InsertCurrency.sql”保存文件。右擊該文件名,然后單擊“設(shè)置為默認(rèn)調(diào)試腳本”。

成都創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),拜城企業(yè)網(wǎng)站建設(shè),拜城品牌網(wǎng)站建設(shè),網(wǎng)站定制,拜城網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營(yíng)銷,網(wǎng)絡(luò)優(yōu)化,拜城網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長(zhǎng)自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。
在 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)試功能。打開“局部變量”窗口,并在“調(diào)試”菜單上單擊“單步執(zhí)行”以單步執(zhí)行存儲(chǔ)過(guò)程中的一行。注意,“局部變量”窗口中的變量 @mynvarchar 的值已經(jīng)更改,并且它的值現(xiàn)在顯示為紅色,表示它已經(jīng)更改。有關(guān)更多信息,請(qǐng)參見(jiàn) 使用“局部變量”窗口。
注意
1.服務(wù)器可能不會(huì)反映在調(diào)試器窗口中對(duì)變量值的更改。有關(guān)更多信息,請(qǐng)參見(jiàn) SQL 調(diào)試限制。
2.打開“監(jiān)視”窗口。在“文本編輯器”中,拖動(dòng) InsertCurrencyCommand 變量到“監(jiān)視”窗口中的任意位置。
3.該變量隨即添加到受監(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ì)顯示一條消息,表明已成功部署存儲(chǔ)過(guò)程,并會(huì)顯示執(zhí)行 InsertCurrency.sql 文件中的命令的結(jié)果。示例用此代碼替換存儲(chǔ)過(guò)程模板。
SQL CLR存儲(chǔ)過(guò)程代碼
- using System;
- using System.Data;
- using System.Data.Sql;
- using System.Data.SqlServer;
- using System.Data.SqlTypes;
- public partial class StoredProcedures
- {
- [SqlProcedure]
- public static void InsertCurrency(SqlString currencyCode,
- SqlString name)
- {
- using(SqlConnection conn = new SqlConnection("context connection=true")) {
- SqlCommand cmd = new SqlCommand([your SQL statement], conn);
- }
- InsertCurrencyCommand.CommandText = "insert Sales.Currency"
- + " (CurrencyCode, Name, ModifiedDate) values('"
- + currencyCode.ToString() + "', '"
- + name.ToString() + "', '"
- + DateTime.Now.ToString() + "')";
- InsertCurrencyCommand.ExecuteNonQuery();
- }
- }這是用于執(zhí)行存儲(chǔ)過(guò)程的測(cè)試腳本。
- 復(fù)制代碼
- - Delete any row that might exist with a key value
- - that matches the one we are going to insert
- DELETE Sales.Currency
- WHERE CurrencyCode = 'eee'
- EXEC InsertCurrency 'eee', 'MyCurr4'
- SELECT * FROM Sales.Currency WHERE CurrencyCode = 'eee'
【編輯推薦】
- 使用CLR存儲(chǔ)過(guò)程來(lái)傳回訊息實(shí)戰(zhàn)案例
- 概括Visual Studio CLR調(diào)試器兩種方法
- Visual Studio中SQL SERVER CLR代碼調(diào)試工具使用講解
- 全面概括SQL SERVER調(diào)用CLR類庫(kù)實(shí)現(xiàn)步驟
- CLR函數(shù)壓縮NTEXT類型字段實(shí)例講解
本文名稱:教你如何調(diào)試SQLCLR存儲(chǔ)過(guò)程
標(biāo)題網(wǎng)址:http://m.fisionsoft.com.cn/article/dpsdshg.html


咨詢
建站咨詢
