成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

經典案例之創建CLR存儲過程

開發 后端
文章主要介紹了我們如何在Visual Studio 2005中創建基于SQL Server 2005的CLR存儲過程,一個例子讓你很快了解其中的編程思想。

學習了很長時間,在這里和大家分享一下關于CLR存儲過程方面的問題,有一個小的實例大家來看看。CLR存儲過程提供面向對象的功能,例如封裝、繼承和多態性。現在,相關代碼可以很容易在類和命名空間中進行組織。在使用大量服務器代碼時,這樣可以更容易地組織和維護代碼,通過使用托管代碼而實現某些數據庫功能。

對于計算和復雜的執行邏輯,基于CLR的托管代碼比Transact-SQL 更適合,托管代碼的一個優點是類型安全性,它全面支持許多復雜的任務,包括字符串處理和正則表達式。通過 .NET Framework 庫中提供的功能,可以訪問數千個預生成的類和例程。可以很容易從任何存儲過程、觸發器或用戶定義函數進行訪問。基類庫包括的類提供用于字符串操作、高級數學運算、文件訪問、加密等的功能。對于幾乎或根本不需要過程邏輯的數據訪問,還是使用 Transact-SQL。對于具有復雜邏輯的CPU密集型函數和過程最好還是使用托管代碼。

我們打開Visual Studio 2005,在對應數據庫欄目下面有個SQL Server項目,新建立一個項目,命名為StoredStu,確定過后會顯示一個數據庫連接對話框,數據庫連接好后,我們在數據庫中有如下兩個表,如下:

StuInfo(學生信息表)

StuID  

學生 ID  

StudentName  

學生姓名  

StudentNO  

學生學號  

StudentUniversity  

所在學院  

NationCode  

民族代碼  

 
Nation(民族表)
 

NationCode  

民族代碼  

NationName  

民族名稱

 

新建立一個文件,選擇“存儲過程”的選項,命名為StoredStu,在文件中寫入以下的代碼:

  1. using System;  
  2. using System.Data;  
  3. using System.Data.SqlClient;  
  4. using System.Data.SqlTypes;  
  5. using Microsoft.SqlServer.Server;  
  6. public partial class StoredProcedures  
  7. {  
  8. [Microsoft.SqlServer.Server.SqlProcedure]  
  9. public static void StoredStu()  
  10. {  
  11. // 在此處放置代碼  
  12. SqlPipe sp = SqlContext.Pipe;  
  13. string sql = "Select * from StuInfo";  
  14. using (SqlConnection conn = new SqlConnection("context connection=true"))  
  15. {  
  16. conn.Open();  
  17. SqlCommand cmd = new SqlCommand();  
  18. cmd.CommandType = CommandType.Text;  
  19. cmd.Connection = conn;  
  20. cmd.CommandText = sql;  
  21. SqlDataReader rdr = cmd.ExecuteReader();  
  22. sp.Send(rdr);  
  23. }  
  24. }  
  25. [SqlProcedure]  
  26. public static void GetStuInfo(string strNationCode)  
  27. {  
  28. string sql = "select Stu.StudentName, Stu.StudentNo, Stu.StudentUniversity,Na.NationName from StuInfo Stu inner join Nation Na on Stu.NationCode = Na.NationCode  where Stu.NationCode = '" + @strNationCode + "'";  
  29. using (SqlConnection conn = new SqlConnection("context connection=true"))  
  30. {  
  31. conn.Open();  
  32. SqlPipe sp = SqlContext.Pipe;  
  33. SqlCommand cmd = new SqlCommand();  
  34. cmd.CommandType = CommandType.Text;  
  35. cmd.Connection = conn;  
  36. cmd.CommandText = sql;  
  37. SqlParameter paramstrNationCode = new SqlParameter("@strNationCode", SqlDbType.VarChar, 11);  
  38. paramstrNationCode.Direction = ParameterDirection.Input;  
  39. paramstrNationCode.Value = strNationCode;  
  40. cmd.Parameters.Add(paramstrNationCode);  
  41. SqlDataReader rdr = cmd.ExecuteReader();  
  42. sp.Send(rdr);  
  43. }  
  44. }  
  45. }; 

現在我們先對其進行編譯,在“生成”菜單中選擇“生成解決方案”,當編譯完工程后,就需要為其進行部署了。同樣選擇“生成”菜單中的“部署解決方案”, 這樣就會自動將寫好的存儲過程部署到 SQL Server 2005 中去。

為了確保SQL可以執行托管代碼,我們還需要在SQL Server 2005中,執行下面的語句:
執行顯示的結果如下:

  1. EXEC sp_configure "clr enabled", 1;  
  2. RECONFIGURE WITH OVERRIDE;  
  3. GO 

“配置選項'clr enabled' 已從0 更改為1。請運行RECONFIGURE 語句進行安裝。”

這樣就可以創建好CLR存儲過程了。

 

【編輯推薦】

  1. 詳解CLR中Jit編譯發生的過程
  2. 深入了解.NET編譯器中CLR加載過程
  3. 簡單介紹CLR泛型及其優勢
  4. 淺談CLR 4.0安全模型的運作機制
  5. CLR線程池的作用與原理淺析
責任編輯:田樹 來源: 博客
相關推薦

2009-09-18 10:40:05

CLR存儲過程

2009-10-22 15:09:40

CLR存儲過程

2009-10-22 13:02:47

SQL CLR存儲過程

2009-09-18 14:09:57

SQL CLR存儲過程

2009-10-22 18:06:31

CLR存儲過程

2009-09-18 10:55:17

CLR存儲過程

2009-09-17 19:19:17

CLR存儲過程

2009-09-17 18:27:40

CLR是什么

2010-07-05 10:06:51

SQL Server擴

2010-04-16 10:11:20

Oracle存儲過程

2010-10-09 17:08:15

MySQL存儲過程

2018-11-05 15:14:42

MySQL編程語言技術

2010-11-29 15:25:39

Sybase存儲過程

2010-05-19 14:03:41

MySQL 存儲過程

2010-10-12 11:07:34

MySQL存儲過程

2010-06-07 15:36:36

MySQL存儲過程

2010-04-20 09:43:34

OracleDB2

2010-10-29 16:17:55

Oracle存儲過程

2011-07-19 15:18:46

存儲過程sql語句

2010-04-15 17:45:26

Oracle存儲過程
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 羞羞色网站 | 久久久久久久久毛片 | 毛片在线免费 | 日韩视频在线播放 | 在线免费观看成年人视频 | 国产精品亚洲精品日韩已方 | www.伊人.com| 国产一级黄色网 | 久久精品91 | 一级a性色生活片久久毛片 一级特黄a大片 | 91国在线高清视频 | 国产精品国产精品 | 国产高清精品一区二区三区 | 9999久久 | 亚洲国产成人精品女人久久久 | 国产精品中文字幕在线 | 亚洲人成人一区二区在线观看 | 欧美一区二区视频 | 免费亚洲成人 | 欧美日本高清 | 国产精品无码专区在线观看 | 五月婷婷丁香 | 夜夜骑首页 | 手机av在线 | 亚洲精品一区二区三区蜜桃久 | 免费的色网站 | 最新中文字幕在线 | aaa大片免费观看 | 欧美www在线| 黄色在线免费观看 | 精品一区二区三区中文字幕 | 天天碰日日操 | 激情 婷婷 | 久久高清免费视频 | 精品一二三区在线观看 | 欧美激情综合五月色丁香小说 | 久久无毛 | chinese中国真实乱对白 | 国产精品久久国产精品99 gif | 老外黄色一级片 | 久久99精品国产 |