C#实现:获取MySQL存储过程Return值与Output参数示例

1星 需积分: 10 11 下载量 89 浏览量 更新于2024-09-22 收藏 29KB DOC 举报
在C#编程中,与MySQL数据库交互时,我们常常需要调用存储过程并获取其返回值和输出参数。这里有两个关键知识点: 1. 获取Return返回值: 存储过程是预先编写的SQL命令集合,可以执行特定的任务并可能返回一个或多个值。在C#中,我们可以使用`SqlCommand`对象来执行存储过程,并利用`ParameterDirection.ReturnValue`属性来处理Return返回值。以下是一个示例代码片段: ```csharp // 建立连接 SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["LocalSqlServer"].ConnectionString); conn.Open(); // 创建SqlCommand对象,指定存储过程名 SqlCommand MySqlCommand = new SqlCommand("MYSQL", conn); MySqlCommand.CommandType = CommandType.StoredProcedure; // 添加输入参数 MySqlCommand.Parameters.Add(new SqlParameter("@a", SqlDbType.Int)); MySqlCommand.Parameters["@a"].Value = 10; MySqlCommand.Parameters.Add(new SqlParameter("@b", SqlDbType.Int)); MySqlCommand.Parameters["@b"].Value = 20; // 设置Return参数的方向为返回值 MySqlCommand.Parameters.Add(new SqlParameter("@return", SqlDbType.Int)); MySqlCommand.Parameters["@return"].Direction = ParameterDirection.ReturnValue; // 执行存储过程 MySqlCommand.ExecuteNonQuery(); // 读取并显示返回值 int returnValue = (int)MySqlCommand.Parameters["@return"].Value; Response.Write("Return值: " + returnValue.ToString()); ``` 在上述代码中,通过设置`@return`参数为`Direction.ReturnValue`,当存储过程执行完毕后,这个参数会自动保存存储过程的Return返回值。 2. 获取Output输出参数值: Output参数允许我们在存储过程中修改外部变量的值,并在调用结束后提供这些修改后的值。例如,下面的存储过程将`@a`和`@b`的和赋值给`@c`作为输出: ```sql CREATE PROCEDURE MYSQL (@a INT, @b INT, @c INT OUTPUT) AS BEGIN SET @c = @a + @b; END; GO ``` 在C#中处理Output参数,我们需要在创建参数时指定`Direction.Output`: ```csharp // ...(前文一样的连接和输入参数部分) // 添加Output参数 MySqlCommand.Parameters.Add(new SqlParameter("@c", SqlDbType.Int)); MySqlCommand.Parameters["@c"].Direction = ParameterDirection.Output; // 执行存储过程 MySqlCommand.ExecuteNonQuery(); // 读取并显示Output参数的值 int outputValue = (int)MySqlCommand.Parameters["@c"].Value; Response.Write("Output值: " + outputValue.ToString()); ``` 执行这段代码后,`@c`的值会被设置为10(@a)和20(@b)的和,然后被输出到响应中。 总结来说,C#中通过`SqlCommand`与MySQL存储过程交互时,理解Return返回值和Output输出参数的使用至关重要。通过设置正确的参数方向,我们可以获取到存储过程执行结果,无论是直接的返回值还是间接修改的输出参数。
xiuli520
  • 粉丝: 5
  • 资源: 16
上传资源 快速赚钱