在C#中使用SQL Server存儲過程,你需要遵循以下步驟:
GetEmployee
的存儲過程,該過程接受一個參數@EmployeeID
并返回員工信息。CREATE PROCEDURE GetEmployee
@EmployeeID INT
AS
BEGIN
SELECT * FROM Employees WHERE EmployeeID = @EmployeeID;
END
在C#項目中添加對System.Data和System.Data.SqlClient的引用。這些命名空間包含與數據庫交互所需的類。
在C#代碼中調用存儲過程。以下是一個示例,展示了如何使用ADO.NET調用上面創建的GetEmployee
存儲過程:
using System;
using System.Data;
using System.Data.SqlClient;
namespace SqlServerStoredProcedureExample
{
class Program
{
static void Main(string[] args)
{
// 連接字符串,根據實際情況修改
string connectionString = "Data Source=your_server;Initial Catalog=your_database;User ID=your_username;Password=your_password";
// 創建一個SqlConnection對象
using (SqlConnection connection = new SqlConnection(connectionString))
{
// 打開數據庫連接
connection.Open();
// 創建一個SqlCommand對象,指定存儲過程名稱和連接對象
using (SqlCommand command = new SqlCommand("GetEmployee", connection))
{
// 設置命令類型為存儲過程
command.CommandType = CommandType.StoredProcedure;
// 添加存儲過程的參數
command.Parameters.AddWithValue("@EmployeeID", 1);
// 執行存儲過程并獲取結果集
using (SqlDataReader reader = command.ExecuteReader())
{
while (reader.Read())
{
Console.WriteLine($"EmployeeID: {reader["EmployeeID"]}, Name: {reader["Name"]}");
}
}
}
}
}
}
}
在這個示例中,我們首先創建了一個SqlConnection
對象來連接到數據庫。然后,我們創建了一個SqlCommand
對象,指定存儲過程名稱和連接對象。我們將命令類型設置為CommandType.StoredProcedure
,以便ADO.NET知道我們要執行的是一個存儲過程。接下來,我們添加了存儲過程的參數,并使用ExecuteReader
方法執行存儲過程并獲取結果集。最后,我們遍歷結果集并輸出員工信息。