逐步解說:建立 Northwind Customers 資料表的更新預存程序
更新:2007 年 11 月
Visual Studio 文件中有些說明主題需要 Northwind 範例資料庫中的其他預存程序,才能執行 Customers 資料表中的資料更新 (插入、更新和刪除)。
本逐步解說提供指示,說明如何在 SQL Server 版 Northwind 範例資料庫中建立其他的預存程序。
本主題稍後的「後續步驟」一節提供連結,可連至示範如何使用這些其他預存程序的主題。
在此逐步解說中,您將學習如何執行下列工作:
建立 Northwind 範例資料庫的資料連接。
建立預存程序。
必要條件
若要完成這個逐步解說,您將需要:
- 存取 SQL Server 版的 Northwind 範例資料庫。如需詳細資訊,請參閱 HOW TO:安裝範例資料庫。
連接到 Northwind 資料庫
這個逐步解說需要連接至 SQL Server 版的 Northwind 資料庫。下列程序提供建立資料連接的指示。
注意事項: |
---|
如果您已經有 Northwind 資料庫的資料連接,可以直接前往下一節「建立預存程序」。 |
建立與 Northwind SQL Server 資料庫的資料連接
按一下 [檢視] 功能表上的 [伺服器總管/資料庫總管]。
以滑鼠右鍵按一下 [資料連接],然後按一下 [加入連接]。
在 [選擇資料來源] 對話方塊中按一下 [Microsoft SQL Server],再按一下 [確定]。
如果 [加入連接] 對話方塊開啟,而 [資料來源] 不是 [Microsoft SQL Server (SqlClient)],請按一下 [變更] 以開啟 [選擇/變更資料來源] 對話方塊,然後按一下 [Microsoft SQL Server],再按一下 [確定]。如需詳細資訊,請參閱選擇/變更資料來源對話方塊。
按一下下拉式清單中的 [伺服器名稱],或輸入 Northwind 資料庫所在的伺服器名稱。
請根據資料庫或應用程式的需求,按一下 [使用 Windows 驗證] 或使用特定的使用者名稱及密碼,登入執行 SQL Server ([SQL Server 驗證]) 的電腦。如需詳細資訊,請參閱新增/修改連接 (Microsoft SQL Server)。
在 [選取或輸入資料庫名稱] 清單中,按一下 Northwind 資料庫。
按一下 [確定]。
資料連接會加入至 [伺服器總管] 或 [資料庫總管]。
建立預存程序
要建立預存程序,請使用 [伺服器總管] 或 [資料庫總管] 中的 Visual Database Tools,對 Northwind 資料庫執行所提供的 SQL 指令碼。
若要使用 SQL 指令碼建立預存程序
在 [伺服器總管] 或 [資料庫總管] 中展開 Northwind 資料庫。
以滑鼠右鍵按一下 [預存程序] 節點,然後按一下 [加入新的預存程序]。
將下列程式碼貼到 [程式碼編輯器],以取代 CREATE PROCEDURE 範本:
IF EXISTS (SELECT * FROM sysobjects WHERE name = 'SelectCustomers' AND user_name(uid) = 'dbo') DROP PROCEDURE dbo.[SelectCustomers] GO CREATE PROCEDURE dbo.[SelectCustomers] AS SET NOCOUNT ON; SELECT CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax FROM dbo.Customers GO IF EXISTS (SELECT * FROM sysobjects WHERE name = 'InsertCustomers' AND user_name(uid) = 'dbo') DROP PROCEDURE dbo.InsertCustomers GO CREATE PROCEDURE dbo.InsertCustomers ( @CustomerID nchar(5), @CompanyName nvarchar(40), @ContactName nvarchar(30), @ContactTitle nvarchar(30), @Address nvarchar(60), @City nvarchar(15), @Region nvarchar(15), @PostalCode nvarchar(10), @Country nvarchar(15), @Phone nvarchar(24), @Fax nvarchar(24) ) AS SET NOCOUNT OFF; INSERT INTO [dbo].[Customers] ([CustomerID], [CompanyName], [ContactName], [ContactTitle], [Address], [City], [Region], [PostalCode], [Country], [Phone], [Fax]) VALUES (@CustomerID, @CompanyName, @ContactName, @ContactTitle, @Address, @City, @Region, @PostalCode, @Country, @Phone, @Fax); SELECT CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax FROM Customers WHERE (CustomerID = @CustomerID) GO IF EXISTS (SELECT * FROM sysobjects WHERE name = 'UpdateCustomers' AND user_name(uid) = 'dbo') DROP PROCEDURE dbo.UpdateCustomers GO CREATE PROCEDURE dbo.UpdateCustomers ( @CustomerID nchar(5), @CompanyName nvarchar(40), @ContactName nvarchar(30), @ContactTitle nvarchar(30), @Address nvarchar(60), @City nvarchar(15), @Region nvarchar(15), @PostalCode nvarchar(10), @Country nvarchar(15), @Phone nvarchar(24), @Fax nvarchar(24), @Original_CustomerID nchar(5) ) AS SET NOCOUNT OFF; UPDATE [dbo].[Customers] SET [CustomerID] = @CustomerID, [CompanyName] = @CompanyName, [ContactName] = @ContactName, [ContactTitle] = @ContactTitle, [Address] = @Address, [City] = @City, [Region] = @Region, [PostalCode] = @PostalCode, [Country] = @Country, [Phone] = @Phone, [Fax] = @Fax WHERE (([CustomerID] = @Original_CustomerID)); SELECT CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax FROM Customers WHERE (CustomerID = @CustomerID) GO IF EXISTS (SELECT * FROM sysobjects WHERE name = 'DeleteCustomers' AND user_name(uid) = 'dbo') DROP PROCEDURE dbo.DeleteCustomers GO CREATE PROCEDURE dbo.DeleteCustomers ( @Original_CustomerID nchar(5) ) AS SET NOCOUNT OFF; DELETE FROM [dbo].[Customers] WHERE (([CustomerID] = @Original_CustomerID)) GO
在 [程式碼編輯器] 中選取所有文字,以滑鼠右鍵按一下選取的文字,然後按一下 [執行選取範圍]。
這會為 Northwind 資料庫建立 SelectCustomers、InsertCustomers、UpdateCustomers 和 DeleteCustomers 預存程序。
後續步驟
您已經建立了預存程序,請嘗試下列示範如何使用預存程序的逐步解說:
HOW TO:指派預存程序來執行更新、插入和刪除 (O/R 設計工具)
逐步解說:建立 LINQ to SQL 類別 (O/R 設計工具)