cmd.Parameters["@ReturnValue"].Direction = ParameterDirection.ReturnValue;
解决方案 »
- 一段修改程序,运行后老显示“出错,where附近出错”
- 用c#获取选择的文本的问题
- WIN2003 + vs2008测试成功,但发布就出现“Could not load file or assembly'System.Data.Oracle。。
- C# 如何实现遍历ftp服务器上的文件夹、子文件夹以及文件,获得它们的名称
- 一个关于排序的问题!
- 关于用installshiledR X Express version10.0打包C#工程的两个问题.在线等候大家的帮忙
- 用dataset 绑定到 datagrid
- WinForm中有类似于VB中的Exit Sub语句吗?
- 关于分页的问题
- DataViewRowState.ModifiedCurrent和.ModifiedOriginal状态下取出值一样?
- 帮助,看看
- 请问下高手,现在的ESMTP验证的详细步骤,sever和客户端的详细命令和返回..
--如果要在程序中获取存储过程输出参数,将存储过程改为:
ALTER PROCEDURE [dbo].[test]
@ReturnValue int output
AS
set @ReturnValue=33
go
ALTER PROCEDURE [dbo].[test]
AS
declare @a int
set @a= 33
RETURN @a
这样就能获取retunrn
但是我不想定义declare @a
我看别人写的 select 33
RETURN
就直接返回select的值
第一个改成这样就有值了
SqlConnection conn = new SqlConnection(StrConn);
conn.Open();
SqlCommand cmd = new SqlCommand("test", conn);
cmd.CommandType = CommandType.StoredProcedure;
SqlDataReader reader = cmd.ExecuteReader();
int returnValue = (int)reader.GetValue(0);
Console.WriteLine(returnValue);
@ReturnValue int output
AS
set @ReturnValue=33
go
cmd.Parameters["@ReturnValue"].Direction = ParameterDirection.Output;ORALTER PROCEDURE [dbo].[test]
AS
return 33
go
cmd.Parameters["@ReturnValue"].Direction = ParameterDirection.ReturnValue;