您的位置:首页 > 编程语言 > PHP开发

ADO.net取存储过程的返回值以及存储过程中Return和OUTPUT的区别

2009-01-23 00:37 549 查看
CREATE PROCEDURE [dbo].[TestProc]

@name varchar(50)

AS

select 'Hello, World! ' + @name

return 1234

GO

ADO.net

using (SqlConnection conn = new SqlConnection("server=(local);uid=sa;pwd=sa;database=test"))

{

conn.Open();

SqlCommand cmd = new SqlCommand("TestProc", conn);

cmd.Parameters.Add(new SqlParameter("@name", "Q.yuhen"));

cmd.Parameters.Add(new SqlParameter("@return", SqlDbType.Int, 0, ParameterDirection.ReturnValue,

true, 0, 0, string.Empty, DataRowVersion.Default, DBNull.Value));

cmd.CommandType = CommandType.StoredProcedure;

object o = cmd.ExecuteScalar();

int returnValue = (int)cmd.Parameters["@return"].Value;

Console.WriteLine("{0}; Return:{1}", o, returnValue);

}

RETURN只能返回INT型,OUTPUT可以返回自定义类型

执行到RETURN的时候存储过程即结束。

而OUTPUT的变量可以重复设置
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: