在C#中,SqlParameter對象用于向SQL Server數據庫發送參數化的查詢。它與存儲過程結合使用時,可以實現更安全、更靈活的數據傳遞和查詢操作。以下是如何在C#中使用SqlParameter與存儲過程結合的示例:
首先,確保已安裝并引用了System.Data.SqlClient命名空間。
創建一個存儲過程,例如:
CREATE PROCEDURE GetEmployeeById
@EmployeeId INT
AS
BEGIN
SELECT * FROM Employee WHERE EmployeeId = @EmployeeId;
END
using System.Data.SqlClient;
string connectionString = "your_connection_string";
SqlConnection connection = new SqlConnection(connectionString);
int employeeId = 1;
using (connection)
{
connection.Open();
using (SqlCommand command = new SqlCommand("EXEC GetEmployeeById @EmployeeId", connection))
{
command.Parameters.AddWithValue("@EmployeeId", employeeId);
using (SqlDataReader reader = command.ExecuteReader())
{
if (reader.Read())
{
int id = reader.GetInt32(0);
string name = reader.GetString(1);
// ... 獲取其他字段
Console.WriteLine($"Employee ID: {id}, Name: {name}");
}
else
{
Console.WriteLine("Employee not found.");
}
}
}
}
在這個示例中,我們首先創建了一個SqlConnection對象,然后使用它創建了一個SqlCommand對象。我們在SqlCommand對象的Parameters集合中添加了一個SqlParameter對象,用于傳遞參數@EmployeeId
。最后,我們使用ExecuteReader方法執行存儲過程,并從結果集中讀取數據。
注意:在實際應用中,應確保正確處理異常和關閉資源。這里為了簡潔起見,省略了異常處理和資源關閉的代碼。