我是这样传递参数的,后面两个@C,@D 是用来接受存储过程的输出参数的。看不出有什么错误SqlParameter[] param = {
new SqlParameter("@A",SqlDbType.Int),
new SqlParameter("@B",SqlDbType.Int),
new SqlParameter("@C",SqlDbType.Int),
new SqlParameter("@D",SqlDbType.Int)
};
param[0].Value = 11;
param[1].Value = 22;
param[2].Direction = ParameterDirection.Output;
param[3].Direction = ParameterDirection.Output;
// 接受用下面方式 但是不行
int c = Convert.ToInt32(param[2].Value);
int d = Convert.ToInt32(param[3].Value);
// 存储过程如下Create PROCEDURE GetAll
@A INT,
@B INT,
@C INT OUTPUT,
@D INT OUTPUT
AS-- 设置返回值
SET @C = 100
SET @D = 200
new SqlParameter("@A",SqlDbType.Int),
new SqlParameter("@B",SqlDbType.Int),
new SqlParameter("@C",SqlDbType.Int),
new SqlParameter("@D",SqlDbType.Int)
};
param[0].Value = 11;
param[1].Value = 22;
param[2].Direction = ParameterDirection.Output;
param[3].Direction = ParameterDirection.Output;
// 接受用下面方式 但是不行
int c = Convert.ToInt32(param[2].Value);
int d = Convert.ToInt32(param[3].Value);
// 存储过程如下Create PROCEDURE GetAll
@A INT,
@B INT,
@C INT OUTPUT,
@D INT OUTPUT
AS-- 设置返回值
SET @C = 100
SET @D = 200
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货