ASP.NET簡易教程3——SQL存儲過程


SQL存儲過程

B/S結構下,離不開數據庫,在接下來的學習時,要求讀者至少知道少許的基本SQL語句(增刪查改)。

在進行正式編程時,簡要介紹一下存儲過程。存儲過程就是將一系列的SQL語句集中置一個文件中。

在大型數據庫系統中,存儲過程具有重要的作用,至於優點,大家可以搜索網上的資料,在此就不過多的介紹,個人感覺比起拼湊SQL語句,優點實在是太多了。

首先大家在自己的SQL2008中新建一個數據庫,本人新建一個WebSite1數據庫,添加一張表tb_User(UserId,UserName,Age),其中UserId為主鍵、自增字段。

存儲過程的創建,SQL2008提供了簡單的創建方式。首先在對象資源管理器中,數據庫目錄下,“可編程性”——“存儲過程”,右擊“存儲過程”,點擊“新建存儲過程”,可看見彈出的對話框。

我自己創建了一個存儲過程(sp_User),存儲過程的命名,一般情況下,一個asp.Net頁面對於一個存儲過程,存儲過程的名稱用asp.net頁面的名稱,這樣調試、測試、維護起來比較方便,團隊合作時,避免相關命名的重復概率。

存儲過程的創建起來是比較簡單的,我們需要做的只是修改其中的一些代碼即可。

存儲過程sp_User
-- =============================================
-- Author:        suguoqiang
-- Create date: 20121111
-- Description:    對該存儲過程的相應描述
-- =============================================
ALTER PROCEDURE [dbo].[sp_User](@type char(20)='',@UserId int='',@UserName char(10)='',@Age int='')
AS
BEGIN
/*查詢User表的信息*/
if @type='Select_UserInfo'
begin
SELECT * 
FROM  tb_User
end

/*增加User*/
if @type='Insert_User'
begin
insert into tb_User (UserName,Age) values(@UserName,@Age)
end

/*修改User*/
if @type='Update_User'
begin
update tb_User set UserName=@UserName,Age=@Age
where UserId=@UserId
end

/*刪除User*/
if @type='Delete_User'
begin
delete tb_User where UserId=@UserId
end
END

 

 

  1. Author:填寫存儲過程的書寫人的名稱Create date:日期 Description:存儲過程簡介
  2. 修改圖中“1”部分的內容,其中包括存儲過程的名稱(sp_User),當然還要填寫相關的參數(可理解為函數的形參),至於需要傳遞什么參數,那要看你需要什么參數,實參當然是從網頁頁面傳遞過來的一些參數。一般情況下,最好是給相關形參默認值,如當前我將四個實參都賦值為’ ’。這樣賦值是有目的,因為一個存儲過程調用時,要求傳遞參數,但我並不需要傳遞所有的形參的實參,這樣的話,如果沒給形參默認值,很顯然會出錯。還要強調一點,@type參數的作用,其實它起到的判斷條件的作用,意思是根據你調用存儲過程時,你到底是想調用if的哪條語句,例:如果此時我想查詢User表,當我調用存儲過程sp_User時,我傳遞@type實參時等於“Select_UserInfo”,那么,當執行存儲過程時,就會執行if @type=‘Select_UserInfo’語句中begin和end之間的SQL語句,進行相關的數據庫操作。sfsdffsdfsdfsdfsdfsdfdsfsdfddsdsdsdshghg
  3. 修改圖中“2”部分的內容,其部分可理解為函數的實體部分,可看到每個SQL語句的執行前,都有一個if判斷語句,其作用在前面介紹了,目的就是,通過@type傳遞的實參,判斷到底要執行哪條SQL語句。

完成以上步驟后,點擊工具欄中的“保存”按鈕即可,然后右鍵對象管理器中的存儲過程——刷新,即可看到新建的存儲過程,至此,一個存儲過程創建成功。

 上一講:ASP.NET簡易教程2——創建三層架構模板

 下一講:ASP.NET簡易教程4——創建首個asp.net頁面

本教程希望引導式學習的方式傳授知識,引導新手自主學習,養成自學的能力。
鑒於個人能力有限,如果發現錯漏地方,歡迎指點。

著作權聲明:本文由http://www.cnblogs.com/suguoqiang 原創,歡迎轉載分享。請尊重作者勞動,轉載時保留該聲明和作者博客鏈接,謝謝!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM