我该如何声明一个参数是一个存储过程和C#都是IN和OUT?
问题描述:
我的代码是这样的:我该如何声明一个参数是一个存储过程和C#都是IN和OUT?
存储过程:
CREATE PROCEDURE test
@StatusId INT OUTPUT,
C#代码:
var sql = @"do.test @StatusId OUT,
SqlParameter[] parameters = new SqlParameter[] {
new SqlParameter("@StatusId", SqlDbType.Int) { Direction = ParameterDirection.Output },
我知道我可以通过添加单词OUTPUT改变这是一个输出,但怎么能我将其更改为存储过程和C#中的输入和输出?也给上面的代码,我怎么能设置状态为99或任何其他值?
答
new SqlParameter("@StatusId", SqlDbType.Int) { Direction = ParameterDirection.Output, Value = 99 }
'@StatusId INT OUT' –
所有参数始终为'IN'。即使它们被标记为“OUTPUT”,您仍然可以为它们分配一个初始值。 –
谢谢,但我怎么能给参数设置一个新的SqlParameter的值?第二个参数是数据类型并设置了一个方向。我在哪里或如何分配一个值? – Alan2