存储过程有两种传值法,即Return和output。return一般用来返回影响的行数、错误编码等,output可返回自定义的值或查询语句得到的值。个人认为采用output返回值方便些。
1.采用return返回值
如果程序只是简单的查询一个Table中是否存在记录如果有记,采用return返回值。
C#调用存储过程采用ExecuteNonQuery()方法执行命令,则返回的只有0和-1这两个值。0代表执行成功,-1代表失败。采用ExecuteScalar()方法执行命令,则返回的只有0这个值,---ExecuteScalar()最好在自定义返回值时用。
2.采用output返回值
C#调用存储过程采用ExecuteNonQuery()方法执行命令,存储过程中一定要定义output类型的值。在代码中要写的代码有
cmd.Parameters.Add("@out", SqlDbType.Int);
cmd.Parameters["@out"].Direction = ParameterDirection.Output;
此后执行ExecuteNonQuery()方法
最后可用cmd.Parameters["@out"].Value获得值,此处获得的是个对象,需进行显示的转换。
-------------------------这是个人的理解,不知是否有误,如有高手请指教!
相关推荐
光学设计必知:Ansys Zemax中6种系统孔径类型的适用场景全解析
本文深入解析Ansys Zemax中6种系统孔径类型的适用场景,包括入瞳直径、像方空间F/#、物方空间NA等,帮助光学设计师精准控制光线选择和成像质量。通过实际案例和代码示例,详细讲解各孔径类型的计算原理、参数设置及在显微系统、激光扩束等场景中的优化策略,提升复杂光学系统设计效率。
c oracle存储过程返回值,C#调用存储过程详解(带返回值、参数输入输出等)
本文实例讲述了C#调用存储过程的方法。分享给大家供大家参考,具体如下:CREATE PROCEDURE [dbo].[GetNameById]@studentid varchar(8),@studentname nvarchar(50) OUTPUTASBEGINSELECT @studentname=studentname FROM studentWHERE studentid=@student...
Python判断三段线能否构成三角形的代码
主要介绍了Python判断三段线能否构成三角形的代码,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
C#中使用存储过程
当我们在使用存储过程时,如何去判断存储过程是否执行成功呢?对于插入、修改、删除这几类对于数据库有影响的操作,当调用ExecuteNoQuery()方法时,我们可以通过它的返回值(返回数据库受影响的行数),即Int EffectRows=aCommand.ExecuteNoQuery()是否不等于-1来做判断。 create proc InsertPerson(@Name v
C#调用存储过程详解(带返回值、参数输入输出等) 很全
CREATE PROCEDURE [dbo].[GetNameById] @studentid varchar(8), @studentname nvarchar(50) OUTPUT AS BEGIN SELECT @studentname=studentname FROM student WHERE studentid=@studentid if @@Error<>0...
C#程序调用Sql Server存储过程异常处理:调用存储过程后不返回、不抛异常的解决方案
C#程序调用Sql Server存储过程异常处理:调用存储过程后不返回、不抛异常的解决方案
在C#中调用存储过程中的两种返回值
//存储过程 //create proc authors_count @outrus int output//as//declare @authors int//select @authors=count(*) from authors//set @outrus=@authors//return @authors System.Data.SqlClient.SqlConnection sq
c# 调用mysql存储过程 返回值_C#调用数据库存储过程
用来创建DataRead的存储过程调用;//数据库连接字符串stringconnStr="Server=localhost;database=stuIMS;uid=sa;pwd=admin";//建立连接SqlConnection conn=new SqlConnection(connStr);//建立查询命令SqlCommand myCommand=newSqlCommand("存储过程名",...
c# 调用mysql存储过程 返回值_使用C#代码获取存储过程返回值
废话不多说,直接给大家贴C#代码了。/// /// 执行存储过程,返回" 返回值"/// /// 存储过程名/// 存储过程参数/// 执行存储过程的返回值public static int RunProcedureWithReturn(string storedProcName, IDataParameter[] parameters){using (SqlConnection connecti...
c# 调用mysql存储过程 返回值_C# 调用存储过程操作 OUTPUT参数和Return返回值
存储过程是存放在数据库服务器上的预先编译好的sql语句。使用存储过程,可以直接在数据库中存储并运行功能强大的任务。存储过程在第一应用程序执行时进行语法检查和编译,编译好的版本保存在高速缓存中。在执行重复任务时,存储过程可以提高性能和一致性。由于存储过程可以将一系列对数据库的操作放在数据库服务器上执行,因而可以降低Web服务器的负载,提高整个系统的性能。1、创建存储过程CREATE PROC [DB...
C#中调用存储过程并且具有返回值
public static bool Proc(string param1, int param2) { bool isSucc = true; string ConnectionStrings = ConfigurationManager.ConnectionStrings["字符串"].ToString();
C#调用带返回值的存储过程
C#调用带返回值的存储过程 (1)在SQL Server中建立如下的存储过程: set ANSI_NULLS ON set QUOTED_IDENTIFIER ON GO CREATE PROCEDURE [dbo].[GetNameById] @studentid varchar(8), @studentname nvarchar(50) OUTPUT AS BEGIN
C#中查询数据库时返回的影响行数等于-1?
C#中查询数据库时返回的影响行数等于-1? 那么如何使它返回影响的行数呢? 如果查询语句之前有insert,delete语句的话: Command.ExecuteNonQuery就会返回 -1行。 建议如果条件符合,可以使用 Command.ExecuteScalar来判断有没有数据返回,在select的情况下和ExecuteNonQuery效果是一样的。 在.NET中,ExecuteNon...
关于ExecuteNonQuery执行存储过程的返回值 、、实例讲解存储过程的返回值与传出参数、、、C#获取存储过程的 Return返回值和Output输出参数值...
关于ExecuteNonQuery执行存储过程的返回值 用到过ExecuteNonQuery()函数的朋友们在开发的时候肯定这么用过. if(cmd.ExecuteNonQuery("xxxx")>0) { //执行成功! } else { //执行失败! } 通过ExecuteNonQuery()的返回值来判断操作...
C# 调用Sql server 执行存储过程总是返回-1
调用存储过程代码如下: 今天在写存储过程调用时遇到如下问题: int value = cmd.ExecuteNonQuery();//执行总是返回-1;且存储过程在sql 可视化执行窗口可正常执行--正常返回结果; 通过查询网络资源找到解决方法,如下所示: 在进行增删改时,数据库能为我们统计受影响行数的前提条件是,关闭NOCOUNT,即 Set nocount off; 默认情况下,...
C#调用类中的方法获取返回Sql Server存储过程的返回值
new SqlParameter("@sheetid",SqlDbType.VarChar,20,ParameterDirection.Output,false,0,0,string.Empty,DataRowVersion.Default,null), //输出参数,返回过程结果值。
SqlHelper类中的ExecuteNonQuery方法解析
在SqlHelper类(windows原)中,ExecuteNonQuery方法有八个重载,接下来我们来一一解析。 第一个方法,在数据库连接对象(connection),命令类型(commandType),命令行文(commandText),SqlParameter参数数组(params SqlParameter[])都存在的情况下,我们使用这个方法。 public sta...
525




被折叠的 条评论
为什么被折叠?



