在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
方法执行存储过程并获取结果集。最后,我们遍历结果集并输出员工信息。