天天看點

C# 資料庫存儲過程的講解應用

在使用vs 2012+sql server做簡單的銷售系統中,通常會遇到一些使用存儲過程的情況,那究竟什麼是存儲過程,它的好處是什麼呢?如果在sql server中建立一個存儲過程,c#中怎樣聯系存儲過程呢?

存儲過程(stored procedure)是大型資料庫系統中,一組為完成特定功能的sql程式代碼.它已經過編譯後存儲在資料庫中,使用者可以通過制定的存儲過程名和參數來執行它.至于存儲過程的好處:

1.執行速度更快

存儲過程是在建立時被編譯和優化過,調用一次後相關資訊就儲存在資料庫中,同時記憶體會保留一份存儲過程,下次調用就可以直接從記憶體中調用執行,不占用cup資源.

2.存儲過程可以減少網絡通信流量

一個百行t-sql代碼的操作可以通過執行一條過程代碼替換,且不需要在網絡中發送數百行代碼.

3.存儲過程允許子產品化設計

當建立後即可在程式中調用多次,這可以改進應用程式的可維護性,并允許與應用程式統一通路資料庫.

4.存儲過程安全性更高

可以使用資料庫的安全機制限制對資料庫的通路,如授權某使用者隻能執行不能修改存儲過程,同時它存儲過程可以加強應用程式的安全性使其不受sql注入工具.

5.存儲過程允許延遲綁定

可以穿件引用尚不存在的表,在建立存儲過程中隻檢查文法,知道第一次執行該存儲過程時才對其編譯,如果引用的表不存在能建立存儲過程,但運作會失敗.

 如果在sql server中使用存儲過程呢?存儲過程的建立語句主要如下,當建立完成可以通過execute執行存儲過程:

舉個執行個體:我在資料庫中使用create建立了一張telephone表,并使用insert向該表中已經插入了資料,現在想使用存儲過程查詢具體手機品牌為”諾基亞”的手機資訊,代碼如下:

當執行execut時,會顯示如下資訊:

C# 資料庫存儲過程的講解應用

同時,下面在介紹一個更新的存儲過程的代碼,友善大家舉一反三.它的功能是把使用者名為”bbbbb”的使用者密碼更新為”123456”,使用者身份更新為”銷售員”.執行代碼,再select查詢users表可以發現資訊更新.

設計界面如下圖所示,主要有datagridview(顯示資料表格),button(按鈕),textbox組成.

C# 資料庫存儲過程的講解應用

其核心代碼及步驟如下:

源代碼如下,先添加命名空間

點選按鈕修改其函數如下

C# 資料庫存儲過程的講解應用

總結:希望文章對大家有所幫助,作者已盡力,如果有不足和不喜歡的地方,見諒!

ps:作者遇到一個問題,在csdn寫部落格時,命名1.2.3.4.5中行間距間隙很大,怎樣設定讓它緊挨着.希望知道的人告知,謝謝!

最後我自己解決了,采用的方法是在csdn寫部落格時,點選"源代碼"編輯文章,把<p></p>從其段落換成了<br />換行實作的,希望大家想縮小間距,也可這樣操作.