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

C#下實現SQL Server 2008數據庫的表類型參數傳遞

數據庫 SQL Server
本文我們以一個實例介紹了C#下實現SQL Server 2008數據庫的表類型參數傳遞的相關知識,并給出了該操作過程的詳細的代碼,希望能夠對您有所幫助。

C#下實現SQL Server 2008數據庫的表類型參數傳遞的相關知識是本文我們主要要介紹的內容,在學習SQL Server 2008的過程中,突然發現SQL Server支持自定義表類型,我們可以輕松的將一個SQL Server 2008表類型作為參數傳遞給存儲過程。

我們通過ADO.Net在C#下演示這項SQL Server 2008的新功能。

首先,我們在SQL Server 2008下創建一個示例數據庫名為Test,再在該數據庫下創建一個名為User的表,結構如下:

C#下實現SQL Server 2008數據庫的表類型參數傳遞

再在Test數據庫下創建一個自定義表類型,取名UserDetailType,如下:

  1. CREATE TYPE [dbo].[UserDetailsType] AS TABLE(  
  2.     [ID] [varchar](50) NULL,  
  3.     [Name] [varchar](50) NULL,  
  4.     [Sex] [varchar](50) NULL,  
  5.     [Age] [decimal](18, 0) NULL  
  6. )   

然后,創建一個存儲過程,取名InsertUserInfo,如下:

  1. CREATE PROCEDURE [dbo].[InsertUserInfo] @UserInfo  [UserDetailsType] readonly 
  2. AS  
  3. BEGIN  
  4.     insert into [User] ([ID], [Name], [Sex], [Age])  
  5.     select [ID], [Name], [Sex], [Age]  
  6.     from @UserInfo;  
  7. END  

C#下實現SQL Server 2008數據庫的表類型參數傳遞

啟動Visual Studio 2008,創建一個默認的窗體應用程序后,我們需要先在內存中創建一個數據庫表DataTable的實例,如下:

  1. private static DataTable PrepareDatatable()  
  2. {  
  3.     DataTable dt = new DataTable("dt");  
  4.     DataColumn[] dtc = new DataColumn[4];  
  5.     dtc[0] = new DataColumn("ID", System.Type.GetType("System.String"));  
  6.     dtc[1] = new DataColumn("Name", System.Type.GetType("System.String"));  
  7.     dtc[2] = new DataColumn("Sex", System.Type.GetType("System.String"));  
  8.     dtc[3] = new DataColumn("Age", System.Type.GetType("System.Decimal"));  
  9.     dt.Columns.AddRange(dtc);  
  10.     return dt;  
  11. }  

然后,通過SqlCommand執行剛才我們創建的Test數據庫存儲過程InsertUserInfo,并傳遞我們在內存中創建的DataTable的實例,如下:

  1. private static void SaveUserInfoDetails()  
  2.        {  
  3.            DataTable dt = PrepareDatatable();  
  4.            for (int i=0;i< =5;i++)  
  5.            {  
  6.                DataRow dr = dt.NewRow();  
  7.                dr[0] = i.ToString();  
  8.                dr[1] = "Name" + i.ToString();  
  9.                dr[2] = "男";  
  10.                dr[3] = (i*10).ToString();  
  11.                dt.Rows.Add(dr);  
  12.            }  
  13.            using (SqlConnection conn = new SqlConnection("server=Rithia;database=Test;integrated security=SSPI"))  
  14.            {  
  15.                SqlCommand cmd = conn.CreateCommand();  
  16.                cmd.CommandType = System.Data.CommandType.StoredProcedure;  
  17.                cmd.CommandText = "dbo.InsertUserInfo";  
  18.                SqlParameter param = cmd.Parameters.AddWithValue("@UserInfo", dt);  
  19.                conn.Open();  
  20.                cmd.ExecuteNonQuery();  
  21.            }  
  22.        }   

C#下實現SQL Server 2008數據庫的表類型參數傳遞

通過上面的示例,我們可以在程序客戶端先創建好要傳遞的表類型數據,然后傳遞給存儲過程,而存儲過程則將SQL Server 2008表類型參數中的記錄一次性的添加到了數據庫實體表中,這種操作在需要傳遞給存儲過程數組形式的參數時非常非常方便。

該示例在Visual Studio 2008 SP1 + SQL Server 2008 +Windows XP SP3下編譯調試通過。

這樣,就在C#下實現了SQL Server 2008表類型參數傳遞。

關于C#下實現SQL Server 2008數據庫的表類型參數傳遞的相關知識就介紹到這里了,希望本次的介紹能夠對您有所收獲!

【編輯推薦】

  1. SQL Server 2005導入Oracle 10g的C#源碼
  2. SQL Server 2008快速清理日志文件的代碼
  3. SQL Server 2008數據庫中CDC的功能使用及說明
  4. SQL Server 2008阻止保存要求重新創建表的更改的問題
  5. SQL Server數據庫row_number() over() 來自動產生行號
責任編輯:趙鵬 來源: CSDN博客
相關推薦

2009-08-06 16:32:49

SQL Server

2009-08-03 14:17:18

C#連接AccessC#連接SQL Ser

2009-09-04 17:29:01

C#創建SQL Ser

2010-08-27 09:59:51

SQL Server

2011-09-01 14:00:11

SQL Server 存儲過程顯示表結構

2024-10-30 08:15:18

2009-08-28 15:57:56

C#線程傳遞參數

2009-03-19 09:30:59

2011-08-11 14:23:57

SQL Server 索引分區

2010-09-10 13:37:30

表分區SQL Server

2011-08-09 17:24:21

SQL Server 數據庫日志

2011-08-16 18:11:13

SQL Server 手動提交

2009-08-07 16:19:00

C#下數據庫編程

2009-08-07 16:19:00

C#下數據庫編程

2011-08-25 13:41:50

SQL Server 變更跟蹤

2010-07-22 14:46:41

SQL Server

2011-09-07 15:11:31

SQL Server同步

2010-12-17 09:11:41

SQL Server

2009-04-10 15:37:48

SQL Server2鏡像實施

2010-07-07 14:24:42

SQL Server
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美va大片 | 国产精品成人一区 | 久久久久久国产精品 | 国产免费国产 | 精品久久久久久久久久久久久 | 伊人激情网 | 中国一级大毛片 | av黄色在线 | 久久亚洲一区二区三区四区 | 久久精品99 | 精品久久久一区 | 91精品国产一区二区三区 | 国产精品视频97 | 狠狠艹| 欧美成人h版在线观看 | 九九热这里 | 亚洲综合大片69999 | 羞羞网站在线观看 | 亚洲欧美日韩一区二区 | av免费看在线 | 麻豆国产一区二区三区四区 | 伊人一区 | 欧美mv日韩mv国产网站91进入 | 操夜夜| 人人做人人澡人人爽欧美 | 91网在线观看| 日韩一级在线 | 久久青 | 日韩一区二区三区精品 | 亚洲精品成人av | 在线午夜电影 | 97超碰站 | 日韩一级免费大片 | 在线观看黄色电影 | 97久久精品午夜一区二区 | 日韩在线观看 | 羞羞的视频免费观看 | 精品国模一区二区三区欧美 | 国产精品久久久久久久久免费桃花 | 中文字幕高清 | 欧美高清视频 |