C調(diào)用存儲過程簡單完整例子_第1頁
C調(diào)用存儲過程簡單完整例子_第2頁
C調(diào)用存儲過程簡單完整例子_第3頁
C調(diào)用存儲過程簡單完整例子_第4頁
C調(diào)用存儲過程簡單完整例子_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

C#調(diào)用存儲過程簡單完整例子

/itblog/article/details/752869創(chuàng)建存儲過程

CreateProcdbo.存儲過程名

存儲過程參數(shù)

AS

執(zhí)行語句

RETURN

執(zhí)行存儲過程

GODECLARE@iRetINT,@PKDispVARCHAR(20)SET@iRet='1'Select@iRet=CASEWHEN@PKDisp='一'THEN1WHEN@PKDisp='二'THEN2WHEN@PKDisp='三'THEN3WHEN@PKDisp='四'THEN4WHEN@PKDisp='五'THEN5ELSE100ENDDECLARE@iINTSET@i=1WHILE@i<10BEGINset@i=@i+1PRINT@iENDDECLARE@dINTset@d=1IF@d=1BEGIN--打印PRINT'正確'ENDELSEBEGINPRINT'錯誤'END

CREATEPROCP_TEST

@NameVARCHAR(20),

@RowcountINTOUTPUT

AS

BEGIN

SELECT*FROMT_CustomerWHERE

NAME=@Name

SET

@Rowcount=@@ROWCOUNT

END

GO

--存儲過程調(diào)用如下:

DECLARE@iINT

EXECP_TEST'A',@iOUTPUT

SELECT@i

--結(jié)果

/*

Name

Address

Tel

A

Address

Telphone(所影響的行數(shù)為1行)

1(所影響的行數(shù)為1行)

*/

--DotNet部分(C#)

--WebConfig文件:

</system.web>

<!--數(shù)據(jù)庫連接字符串

-->

<appSettings>

<addkey="ConnectString"value="server=(local);UserID=sa;Password=;database=Test"/>

</appSettings>

</configuration>

--C#代碼:(用到兩個測試控件,DataGrid1(用于顯示綁定結(jié)果集合),Lable(用于顯示存儲過程返回單值)

//添加數(shù)據(jù)庫引用

usingSystem.Data.SqlClient;

privatevoidPage_Load(objectsender,System.EventArgse)

{創(chuàng)建存儲過程

CreateProcdbo.存儲過程名

存儲過程參數(shù)

AS

執(zhí)行語句

RETURN

執(zhí)行存儲過程

GO

理論知識:結(jié)束語法示例:開始--變量的聲明,sql里面聲明變量時必須在變量前加@符號

DECLARE@IINT--變量的賦值,變量賦值時變量前必須加set

SET@I=30--聲明多個變量

DECLARE@svarchar(10),@aINT--

Sql

里if語句

IF條件BEGIN

執(zhí)行語句

END

ELSEBEGIN

執(zhí)行語句

END

DECLARE@dINT

set@d=1IF@d=1BEGIN--打印

PRINT'正確'

END

ELSEBEGIN

PRINT'錯誤'

END

--

Sql

里的多條件選擇語句.

DECLARE@iRetINT,@PKDispVARCHAR(20)

SET@iRet=1

Select@iRet=

CASE

WHEN@PKDisp='一'THEN1

WHEN@PKDisp='二'THEN2

WHEN@PKDisp='三'THEN3

WHEN@PKDisp='四'THEN4

WHEN@PKDisp='五'THEN5

ELSE100

END--循環(huán)語句

WHILE條件BEGIN

執(zhí)行語句

ENDDECLARE@iINT

SET@i=1

WHILE@i<1000000BEGIN

set@i=@i+1

END

--打印

PRINT@i語法示例:結(jié)束相關(guān)說明:開始?--TRUNCATE刪除表中的所有行,而不記錄單個行刪除操作,不能帶條件TRUNCATETABLE在功能上與不帶Where子句的Delete語句相同:二者均刪除表中的全部行。但TRUNCATETABLE比Delete速度快,且使用的系統(tǒng)和事務(wù)日志資源少。

Delete語句每次刪除一行,并在事務(wù)日志中為所刪除的每行記錄一項(xiàng)。TRUNCATETABLE通過釋放存儲表數(shù)據(jù)所用的數(shù)據(jù)頁來刪除數(shù)據(jù),并且只在事務(wù)日志中記錄頁的釋放。

TRUNCATETABLE刪除表中的所有行,但表結(jié)構(gòu)及其列、約束、索引等保持不變。新行標(biāo)識所用的計數(shù)值重置為該列的種子。如果想保留標(biāo)識計數(shù)值,請改用Delete。如果要刪除表定義及其數(shù)據(jù),請使用DropTABLE語句。

對于由FOREIGNKEY約束引用的表,不能使用TRUNCATETABLE,而應(yīng)使用不帶Where子句的Delete語句。由于TRUNCATETABLE不記錄在日志中,所以它不能激活觸發(fā)器。

TRUNCATETABLE不能用于參與了索引視圖的表。

示例

下例刪除authors表中的所有數(shù)據(jù)。

TRUNCATETABLEauthors--SelectINTO從一個查詢的計算結(jié)果中創(chuàng)建一個新表。數(shù)據(jù)并不返回給客戶端,這一點(diǎn)和普通的

--Select不同。新表的字段具有和Select的輸出字段相關(guān)聯(lián)(相同)的名字和數(shù)據(jù)類型。

select*intoNewTable

fromUname

--InsertINTOSelect

--表ABC必須存在

--把表Uname里面的字段Username復(fù)制到表ABC

InsertINTOABCSelectUsernameFROMUname--創(chuàng)建臨時表

CreateTABLE#temp(

UIDintidentity(1,1)PRIMARYKEY,

UserNamevarchar(16),

Pwdvarchar(50),

Agesmallint,

Sexvarchar(6)

)

--打開臨時表

Select*from#temp--存儲過程

--要創(chuàng)建存儲過程的數(shù)據(jù)庫

UseTest

--判斷要創(chuàng)建的存儲過程名是否存在

ifExists(SelectnameFromsysobjectsWherename='csp_AddInfo'Andtype='P')

--刪除存儲過程

DropProceduredbo.csp_AddInfo

Go

--創(chuàng)建存儲過程

CreateProcdbo.csp_AddInfo

--存儲過程參數(shù)

@UserNamevarchar(16),

@Pwdvarchar(50),

@Agesmallint,

@Sexvarcha

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論