阅读量:0
在C#中,SqlParameter对象用于向SQL Server数据库发送参数化的查询。它与存储过程结合使用时,可以实现更安全、更灵活的数据传递和查询操作。以下是如何在C#中使用SqlParameter与存储过程结合的示例:
首先,确保已安装并引用了System.Data.SqlClient命名空间。
创建一个存储过程,例如:
CREATE PROCEDURE GetEmployeeById @EmployeeId INT AS BEGIN SELECT * FROM Employee WHERE EmployeeId = @EmployeeId; END
- 在C#代码中,创建一个SqlConnection对象,连接到数据库:
using System.Data.SqlClient; string connectionString = "your_connection_string"; SqlConnection connection = new SqlConnection(connectionString);
- 使用SqlCommand对象执行存储过程,并添加SqlParameter对象:
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方法执行存储过程,并从结果集中读取数据。
注意:在实际应用中,应确保正确处理异常和关闭资源。这里为了简洁起见,省略了异常处理和资源关闭的代码。