返回“ASP.NET 2.0數據教程目錄”
導言:
在前面的文章裡我們考察了如何讓TableAdapters向導自動的創 建存儲過程.而在本文,我們將考察如何讓TableAdapter使用現有的存儲過程。由 於Northwind數據庫現有的存儲過程很少,我們也需要考察如何在Visual Studio 環境裡手動向數據庫添加新的存儲過程.
注意:
在第63章 《Wrapping Database Modifications within a Transaction》裡我們向 TableAdapter添加了一些方法以支持事務(比如 (BeginTransaction, CommitTransaction等)。我們可以在不修改數據訪問層代碼的情況下,在一個存 儲過程裡管理整個事務.在本文,我們還將對事務裡執行存儲過程的T-SQL commands命令進行考察.
第一步:向Northwind數據庫添加存儲過程
我們很容易通過Visual Studio向數據庫添加存儲過程.讓我們向 Northwind數據庫添加一個新存儲過程,它返回Products表裡特定CategoryID值的 產品.在服務器資源管理窗口,展開Northwind數據庫,就像我們在前面的文章看 到的一樣,存儲過程文件夾包含了現有的存儲過程。要添加新的存儲過程的話, 只需要右鍵單擊存儲過程文件夾,選“添加新存儲過程”項,
圖1:右擊Stored Procedures文件夾選“Add a New Stored Procedure”
如圖1所示,選“Add a New Stored Procedure”項後,將在Visual Studio裡打開一個腳本窗口.輸入如下的腳 本:
CREATE PROCEDURE dbo.Products_SelectByCategoryID
(
@CategoryID int
)
AS
SELECT ProductID, ProductName, SupplierID, CategoryID,
QuantityPerUnit, UnitPrice, UnitsInStock, UnitsOnOrder,
ReorderLevel, Discontinued
FROM Products
WHERE CategoryID = @CategoryID
當執行該腳本時,將會向數據庫添加一個名為 Products_SelectByCategoryID的新存儲過程,該存儲過程接受一個輸入參數 (@CategoryID, 類型為int)並將與CategoryID值匹配的所有產品返回.
執 行該CREATE PROCEDURE腳本,將向數據庫添加存儲過程,點工具欄的保存按鈕或 按Ctrl+S。如此之後,刷新存儲過程文件夾以顯示最近添加的存儲過程,如此一 ilai部分由“CREATE PROCEDURE dbo.Products_SelectProductByCategoryID” 轉變為“ALTER PROCEDURE dbo.Products_SelectProductByCategoryID”. CREATE PROCEDURE用於添加新存儲過程,而ALTER PROCEDURE用於更新現有的存儲過程。 由於腳本開頭部分已經轉變為ALTER PROCEDURE, 我們可以通過改動輸入參數或 SQL statements並點擊保存按鈕,即可完成對存儲過程的更新.圖2顯示的是保存 Products_SelectByCategoryID存儲過程後的畫面.
圖2:Products_SelectByCategoryID存儲過程已經添加到數據庫