国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
[C#新手入門 三] 使用DataTable作為存儲(chǔ)過(guò)程的參數(shù)
分類: C# 2014-02-12 11:29 692人閱讀 評(píng)論(0) 收藏 舉報(bào)

http://www.cnblogs.com/zhangchenliang/archive/2011/05/19/2050752.html

一、測(cè)試環(huán)境

1、Windows Server 2008 R2 DataCenter

2Visual Studio 2008 Team System With SP1

3、SQL Server 2008 Enterprise Edition With SP1

由于是SQL Server 2008新特性,所以只能用2008

二、測(cè)試概述

測(cè)試項(xiàng)目很簡(jiǎn)單,就是添加新用戶

三、準(zhǔn)備數(shù)據(jù)

1、建立數(shù)據(jù)庫(kù)、表、類型、存儲(chǔ)過(guò)程

 

  1. <span style="font-size:14px;">IF NOT EXISTS(SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID('Users') AND OBJECTPROPERTY(id, N'IsUserTable') = 1)  
  2. BEGIN  
  3.  CREATE TABLE dbo.Users  
  4.  (  
  5.   UserID INT IDENTITY(-1, -1) NOT NULL,  
  6.   UserName VARCHAR(20) NOT NULL,  
  7.   UserPass VARCHAR(20) NOT NULL,  
  8.   Sex BIT NULL,  
  9.   Age SMALLINT NULL,  
  10.   CONSTRAINT PK_Users_UserID PRIMARY KEY(UserID)  
  11.  )  
  12. END  
  13. IF NOT EXISTS(SELECT * FROM sys.table_types WHERE name = 'UserTable' AND is_user_defined = 1)  
  14. BEGIN  
  15.  CREATE TYPE UserTable AS TABLE  
  16.  (  
  17.   UserName VARCHAR(20) NOT NULL,  
  18.   UserPass VARCHAR(20) NOT NULL,  
  19.   Sex BIT NULL,  
  20.   Age SMALLINT NULL  
  21.  )  
  22. END  
  23. GO</span>  

 

  1. <span style="font-size:14px;">IF EXISTS(SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID('sp_InsertSingleUser') AND OBJECTPROPERTY(id, N'IsProcedure') = 1)  
  2. BEGIN  
  3.     DROP PROCEDURE dbo.sp_InsertSingleUser  
  4. END  
  5. GO  
  6. CREATE PROCEDURE dbo.sp_InsertSingleUser  
  7. (  
  8.     @User UserTable READONLY  
  9. )  
  10. AS  
  11.   
  12. SET XACT_ABORT ON  
  13. BEGIN TRANSACTION  
  14.   
  15. INSERT INTO dbo.Users(UserName, UserPass, Sex, Age)  
  16. SELECT UserName, UserPass, Sex, Age FROM @User  
  17.   
  18. COMMIT TRANSACTION  
  19. SET XACT_ABORT OFF  
  20. GO</span>  


 

 

 

前臺(tái)搭建好表單,后臺(tái)主要是一個(gè)函數(shù):

1     public void fnInsertSingleUser(DataTable v_dt)
2     {
3         try
4         {
5             SqlConnection cn=new SqlConnection(CONN);
6             SqlCommand cmd= cn.CreateCommand();
7             cmd.CommandType= CommandType.StoredProcedure;
8             cmd.CommandText=@"sp_InsertSingleUser";
9             SqlParameter p= cmd.Parameters.AddWithValue("@User", v_dt);
10
11             DataSet ds =new DataSet();
12             SqlDataAdapter da=new SqlDataAdapter(cmd);
13             da.Fill(ds);
14         }
15         catch (Exception ex)
16         {
17            throw ex;
18         }
19     }
 

  點(diǎn)擊【添加】按鈕時(shí)調(diào)用存儲(chǔ)過(guò)程。測(cè)試是完成了,也很簡(jiǎn)單,傳遞一個(gè)DataTable做參數(shù)確實(shí)很方便吧,能夠輕松完成原先需要很多編碼的工 作。關(guān)于表變量還是有些道道的,如創(chuàng)建時(shí)判斷其是否存在的語(yǔ)句,刪除表變量前需要先刪除引用表變量的存儲(chǔ)過(guò)程等。一般開發(fā)我大多會(huì)選擇用臨時(shí)表,處理起來(lái) 比較方便,表變量可以作為存儲(chǔ)過(guò)程參數(shù)確實(shí)是一個(gè)獨(dú)特的優(yōu)勢(shì),希望在SQL  Server的未來(lái)版本中能夠繼續(xù)增強(qiáng)對(duì)表變量和臨時(shí)表的支持,尤其是早日支持臨時(shí)表調(diào)試:)

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
C#下SQL Server 2008表類型參數(shù)傳遞 - 51CTO.COM
淺析SQL SERVER一個(gè)沒(méi)有公開的存儲(chǔ)過(guò)程
sqlserver存儲(chǔ)過(guò)程集錦(一)
幾個(gè)功能強(qiáng)大的分析SQL Server數(shù)據(jù)庫(kù)結(jié)構(gòu)的存儲(chǔ)過(guò)程
SQL本地調(diào)用不同數(shù)據(jù)庫(kù)的數(shù)據(jù)方法匯總[Access軟件網(wǎng)]
《SQLServer數(shù)據(jù)庫(kù)應(yīng)用基礎(chǔ)教程》第八章存儲(chǔ)過(guò)程及其應(yīng)用
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服