Вам необходимо установить SqlConnection
и SqlCommand
.Если у вас есть код с оператором RETURN @Sum
в конце, вам нужно сделать это (определите параметр типа RETURN_VALUE):
using(SqlConnection _conn = new SqlConnection(-your-connection-string-here))
using(SqlCommand _cmd = new SqlCommand("dbo.sp_Noskheh_SumOfTotalPay", _conn))
{
_cmd.CommandType = CommandType.StoredProcedure;
_cmd.Parameters.Add(new SqlParameter("@CO_ID", SqlDbType.Int));
_cmd.Parameters["@CO_ID"].Value = 5; // whatever value you want
_cmd.Parameters.Add(new SqlParameter("@RETURN_VALUE", SqlDbType.BigInt));
_cmd.Parameters["@RETURN_VALUE"].Direction = ParameterDirection.ReturnValue;
_conn.Open();
_cmd.ExecuteNonQuery();
Int64 result = Int64.Parse(_cmd.Parameters["@RETURN_VALUE"].Value);
_conn.Close();
}
Было бы намного проще, если бы вы заменили этот RETURNоператор с простым SELECT:
SELECT @Sum
В этом случае вы можете использовать упрощенную версию, которая была у меня ранее - с помощью .ExecuteScalar()
, чтобы извлечь единственное значение одной строки, возвращаемой из сохраненного процесса:
using(SqlConnection _conn = new SqlConnection(-your-connection-string-here))
using(SqlCommand _cmd = new SqlCommand("dbo.sp_Noskheh_SumOfTotalPay", _conn))
{
_cmd.CommandType = CommandType.StoredProcedure;
_cmd.Parameters.Add(new SqlParameter("@CO_ID", SqlDbType.Int));
_cmd.Parameters["@CO_ID"].Value = 5; // whatever value you want
_conn.Open();
object result = _cmd.ExecuteScalar();
_conn.Close();
Int64 sum = Int64.Parse(result);
}
Это должно вызвать ваш сохраненный процесс, прочитать одно возвращаемое значение и преобразовать его в int
переменную с именем sum
.