亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何創建CLR對象

發布時間:2021-12-03 14:52:40 來源:億速云 閱讀:225 作者:小新 欄目:編程語言

這篇文章主要介紹了如何創建CLR對象,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

一 創建CLR對象

1.在解決方案中添加新的C#SQL數據庫項目,命名為“ServiceClient”
2.為你的目標數據庫選擇或添加注釋。(如果未被提示:右擊ServiceClient項目,選擇屬性,數據庫,瀏覽并選擇你的連接)
3.為創建的服務添加聲明
1)在解決方案瀏覽器中右擊“service”項目,選擇“調試”>“Start New Instance”
2)服務運行:右擊“ServiceClient”項目,選擇“Add Service Reference”
3)在“Service URI”中輸入:http://localhost:8000/services
4)點擊“OK”

二 CLR觸發器案例

[Microsoft.SqlServer.Server.SqlTrigger(Name="Trigger1",Target="ERP_STOCKYaoHuoDingDan",Event="FORINSERT")]  publicstaticvoidDingDanIDSameGongYingShangGUIDMustSame()  {  using(SqlConnectionconnection=newSqlConnection(@"contextconnection=true"))  {  connection.Open();  SqlCommandcommand=newSqlCommand(@"SELECTCOUNT(A.DingDanID)FROMERP_STOCKYaoHuoDingDanASA,INSERTEDASBWHEREA.DingDanID=B.DingDanIDANDA.GongYingShangGUID<>B.GongYingShangGUID",connection);  inti=(int)command.ExecuteScalar();  if(i>0)  {  try  {  //如果要插入的記錄不合法,則回滾.  TransactionTransactiontrans=Transaction.Current;  trans.Rollback();  }  catch(SqlExceptionex)  {

當在觸發器內部調用Transaction.Rollback方法時,將引發異常并顯示不明確的錯誤消息,必須在try/catch塊中包裝此方法或命令。您會看到如下錯誤消息:

Msg6549,Level16,State1,Proceduretrig_InsertValidator,Line0A.NETFrameworkerroroccurredduringexecutionofuserdefinedroutineoraggregate  'trig_InsertValidator':System.Data.SqlClient.SqlException:Transactionisnotallowedtorollbackinsideauserdefinedroutine,  triggeroraggregatebecausethetransactionisnotstartedinthatCLRlevel.Changeapplicationlogictoenforcestricttransactionnesting…Usertransaction,ifany,willberolledback.  此異常是預期行為,需要try/catch塊才能繼續執行代碼。當完成執行觸發器代碼時,將引發另一個異常。  Msg3991,Level16,State1,Proceduretrig_InsertValidator,Line1Thecontexttransactionwhichwasactivebeforeenteringuserdefinedroutine,  triggeroraggregate"trig_InsertValidator"hasbeenendedinsideofit,whichisnotallowed.Changeapplicationlogictoenforcestricttransactionnesting.  Thestatementhasbeenterminated.此異常也是預期行為。  }  }  connection.Close();  }  }

調用CLR觸發器的例子

盡管引發了兩個異常,仍可以回滾事務,并且更改不會提交到表中。

try  {  //用到此觸發器的方法  }  catch(SqlExceptionex)  {  if(ex.Number==3991)  {  LabelInfor.Text="同一張訂單必須是同一家供應商。";  }  }  catch(Exceptionex)  {  }

感謝你能夠認真閱讀完這篇文章,希望小編分享的“如何創建CLR對象”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

clr
AI

沂源县| 久治县| 会同县| 南投县| 库伦旗| 乌什县| 白水县| 韶山市| 东乡族自治县| 永宁县| 庆元县| 武威市| 和平县| 称多县| 景东| 河津市| 平遥县| 喀喇沁旗| 张家港市| 全椒县| 枣强县| 巴里| 天津市| 东海县| 神池县| 美姑县| 河池市| 依兰县| 额敏县| 莲花县| 阿瓦提县| 临朐县| 大连市| 化州市| 栾城县| 富民县| 林口县| 冷水江市| 台中县| 连江县| 琼海市|