c#获取存储过程返回值示例分享

当使用C#调用存储过程时,我们可以通过获取存储过程的返回值来判断该存储过程是否执行成功,例如返回0表示执行成功,而返回其他值则可能表示执行失败或者出现异常。

下面我们就来详细讲解如何通过C#获取存储过程的返回值。

示例一

在调用存储过程的时候,我们通过SqlCommand对象的ExecuteNonQuery()方法执行存储过程,该方法返回受影响的行数,而不是存储过程的返回值。因此,我们需要在SqlCommand对象执行ExecuteNonQuery()后,通过获取Output参数的值来获得存储过程的返回值。

using System.Data.SqlClient;

SqlConnection conn = new SqlConnection(connString);
SqlCommand cmd = new SqlCommand("procedure_name", conn);
cmd.CommandType = System.Data.CommandType.StoredProcedure;

SqlParameter outputPara = new SqlParameter("@output_para_name", System.Data.SqlDbType.Int);
outputPara.Direction = System.Data.ParameterDirection.Output;

cmd.Parameters.Add(outputPara);

conn.Open();
cmd.ExecuteNonQuery();
conn.Close();

//获取存储过程的返回值
int returnValue = Convert.ToInt32(outputPara.Value);

在以上示例中,我们首先定义一个SqlCommand对象,并指定存储过程的名称以及连接对象。然后定义一个SqlParameter对象,用于获取存储过程的返回值,该对象的Direction属性被设为Output,表示获取输出参数。接着,在SqlCommand对象中添加该SqlParameter对象,并执行ExecuteNonQuery方法。

最后,通过outputPara对象的Value属性获取存储过程的返回值,并将其转换为整数类型。

示例二

除了使用Output参数获取存储过程的返回值外,我们还可以使用ExecuteScalar方法获取存储过程的返回值。该方法返回的是结果集中的第一行第一列的值,也就是存储过程的返回值。

using System.Data.SqlClient;

SqlConnection conn = new SqlConnection(connString);
SqlCommand cmd = new SqlCommand("procedure_name", conn);
cmd.CommandType = System.Data.CommandType.StoredProcedure;

conn.Open();

//获取存储过程的返回值
int returnValue = (int)cmd.ExecuteScalar();

conn.Close();

在以上示例中,我们同样是定义一个SqlCommand对象,并指定存储过程的名称以及连接对象。不同的是,在执行ExecuteScalar方法后,返回的结果是存储过程的返回值。

注意:在使用ExecuteScalar方法获取存储过程的返回值时,存储过程的执行语句中必须包含“SELECT @returnValue”的语句。

通过以上两个示例,我们可以清楚地了解到如何使用C#获取存储过程的返回值。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:c#获取存储过程返回值示例分享 - Python技术站

(0)
上一篇 2023年5月31日
下一篇 2023年5月31日

相关文章

  • C# Linq的ToLookup()方法 – 将序列转换为查找表

    C#中的Linq是一个强大的数据查询和操作工具,其中ToLookup()方法是Linq中的一个用于将集合转换为Lookup类型的方法,本文将为您提供ToLookup()方法的完整攻略。 ToLookup()方法概述 ToLookup()方法是对IEnumerable集合类型进行查询与操作的Linq方法之一,它的作用是将集合转换为Lookup类型,其中TKey…

    C# 2023年4月19日
    00
  • c#数组详解

    C#数组详解 什么是数组 数组是 C# 中最常用的一种数据结构,它可以用于存储同一种数据类型的多个元素。数组中的元素可以通过数组下标进行访问,下标从 0 开始计数。 数组定义和初始化 下面是定义和初始化一个数组的语法: 数据类型[] 数组名 = new 数据类型[数组长度]; 其中,数组类型可以为整型、字符型、浮点型、对象型(即自定义类)等。数组长度为整型数…

    C# 2023年5月31日
    00
  • VS2017怎么创建创建空的ASP.NET Core Web项目?

    创建空的ASP.NET Core Web项目的步骤如下: 打开Visual Studio 2017,点击“新建项目”。 在“新建项目”对话框中,选择“ASP.NET Core Web应用程序”模板。 在“ASP.NET Core Web应用程序”对话框中,选择“空”的模板,然后单击“确定”按钮。 给项目命名,并指定项目的位置。然后单击“创建”按钮。 在“创建…

    C# 2023年6月3日
    00
  • ASP.NET Core项目配置教程(6)

    ASP.NET Core项目配置教程(6)主要涉及如何在ASP.NET Core项目中使用配置文件。下面是ASP.NET Core项目配置教程(6)的完整攻略。 什么是配置文件? 在ASP.NET Core中,配置文件是一种存储应用程序配置信息的机制。配置文件可以包含应用程序的各种设置,例如数据库连接字符串、日志记录级别、身份验证设置等。 如何使用配置文件?…

    C# 2023年5月16日
    00
  • C#6.0中你可能不知道的新特性总结

    C#6.0是微软在2015年发布的新版本,增加了不少新特性。本文将对C#6.0中一些可能被忽略的新特性进行总结和分享。 1. 自动属性初始值设定 在C#6.0引入了自动属性初始值设定,开发者可以为属性提供一个初始值,而不必在构造函数中进行设置。这种方式可以更加方便快捷地编写C#代码。 示例: public class Person { public stri…

    C# 2023年5月31日
    00
  • C#生成指定范围内的不重复随机数

    下面是” C#生成指定范围内的不重复随机数 “的攻略。 1. 使用 C# 的 Random 类生成随机数 System.Random 是 C# 中封装了随机数生成器的类,可以用来生成伪随机数。Random 的默认构造函数可以产生种子数,可以在每次生成随机数时用来确定这个随机数系列的起始位置,从而产生不同的随机数序列。 2. 生成指定范围内的随机数 生成指定范…

    C# 2023年6月7日
    00
  • C#不同类型的成员变量(字段)的默认值介绍

    针对C#不同类型的成员变量(字段)的默认值介绍,我给你提供如下完整攻略: 标题 C#不同类型的成员变量(字段)的默认值介绍 正文 在C#中,各种类型的成员变量(字段)如果不显式初始化,则它们都会被自动初始化为某些默认值。下面我将对常见的数据类型进行简要介绍。 在C#中,整数类型的默认值是0,例如: public int i; 在这个例子中,变量i会被自动初始…

    C# 2023年5月31日
    00
  • C#实现Datatable排序的方法

    一、Datatable排序的方法简介 在C#中,Datatable是一个非常重要的数据结构之一。很多时候我们需要对Datatable进行排序来实现对数据的精细管理。依据不同的需求,我们可以对Datatable按照不同的列进行升序或降序排序。下面,我们将提供两个示例来讲解如何使用C#实现Datatable排序的方法。 二、示例1:对Datatable按照单一列…

    C# 2023年5月31日
    00
合作推广
合作推广
分享本页
返回顶部