我正在尝试在c#中执行存储过程。
存储过程执行插入操作并返回其中一列的值作为输出参数。
我需要从c#执行它并获取输出参数的值。
以下是我到目前为止所尝试的内容。
curl_setopt($token, CURLOPT_HTTPHEADER, array('Content-Type: application/x-www-form-urlencoded'));
执行上面的操作,成功执行insert,但为输出参数值返回null。
任何人都可以建议我在这里缺少的东西。
由于
答案 0 :(得分:0)
在定义输出参数时尝试这样:
associateParams[8] = new SqlParameter("@userSalt", SqlDbType.VarChar, 400);
associateParams[8].Value = "";
associateParams[8].Direction = ParameterDirection.Output;
associateParams[9] = new SqlParameter("@activationKey", SqlDbType.Int);
associateParams[9].Value = 0;
associateParams[9].Direction = ParameterDirection.Output;
请告诉我这是否有帮助。
更新:这是我自己的方法
cmd.Parameters.Add(new SqlParameter("@userSalt", SqlDbType.VarChar, 400));
cmd.Parameters["@userSalt"].Value = "";
cmd.Parameters["@userSalt"].Direction = ParameterDirection.Output;
UPDATE1:因为你不使用ExecuteNonQuery。将cmd.ExecuteScalar()
更改为cmd.ExecuteNonQuery()