温馨提示×

C#中如何使用SQL Server存储过程

c#
小樊
85
2024-09-06 04:49:14
栏目: 云计算

在C#中使用SQL Server存储过程,你需要遵循以下步骤:

  1. 创建一个SQL Server存储过程。首先,在SQL Server Management Studio (SSMS) 或其他数据库管理工具中创建一个存储过程。例如,创建一个名为GetEmployee的存储过程,该过程接受一个参数@EmployeeID并返回员工信息。
CREATE PROCEDURE GetEmployee
    @EmployeeID INT
AS
BEGIN
    SELECT * FROM Employees WHERE EmployeeID = @EmployeeID;
END
  1. 在C#项目中添加对System.Data和System.Data.SqlClient的引用。这些命名空间包含与数据库交互所需的类。

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

0