C# 存储过程示例:执行SQL并获取计数

需积分: 0 0 下载量 21 浏览量 更新于2024-09-09 收藏 1KB TXT 举报
这段C#代码展示了如何在C#中使用ADO.NET执行SQL Server存储过程。主要涉及以下几个关键知识点: 1. **连接数据库**: 使用`SqlConnection`类,通过字符串`Str`连接到名为"xuesheng"的数据库,其中包含了服务器名(`DataSource`)、实例名(`\\SQLEXPRESS`)以及集成安全(`IntegratedSecurity=True`)。 2. **创建SqlCommand对象**: 创建一个名为`mycom`的`SqlCommand`对象,设置其`Connection`属性为打开的`SqlConnection`,并将其`CommandType`设置为`CommandType.StoredProcedure`,表明这是一个存储过程。 3. **定义存储过程**: 存储过程`count1`接受两个参数:`@Ա`(`NVarChar`类型,长度为10)和`@count`(`Int`类型,输出)。它执行了两条SQL语句:首先根据`@Ա`查询数据,然后将查询结果的计数值赋给输入参数`@count`。 4. **执行存储过程并获取结果**: 设置参数值后,调用`ExecuteReader()`方法执行存储过程,并将查询结果存储在`SqlDataReader`对象`rd`中。通过`rd.GetName(0)`获取字段名,`rd.GetString(0)`读取每一行的特定字段值,并使用`Console.WriteLine`打印出来。 5. **处理多结果集**: `rd.NextResult()`用于处理可能存在的多个结果集。在本例中,存储过程只有一个结果集,但这个函数确保了处理不同情况的灵活性。 6. **输出存储过程的输出参数`: 使用`mycom.Parameters["@count"].Value`获取`@count`的输出值,将其打印到控制台,表示查询结果的数量。 7. **关闭连接**: 最后,确保关闭`SqlDataReader`和`SqlConnection`以释放资源。 总结来说,这段代码展示了如何在C#中通过C# Data Provider for SQL Server(`System.Data.SqlClient`)与SQL Server数据库交互,执行存储过程并处理其返回的数据。这对于处理数据库操作、参数化查询和理解存储过程的工作原理具有重要意义。