存储过程有两种传值法,即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获得值,此处获得的是个对象,需进行显示的转换。
-------------------------这是个人的理解,不知是否有误,如有高手请指教!
C#调用存储过程返回值
最新推荐文章于 2024-06-05 07:57:21 发布