Я создал хранимую процедуру, в которой у меня объявлен выходной параметр.Это дает правильный результат, когда я выполняю его в SQL.но я интегрировал его в код C #, я получаю пустой объект. Я не уверен, в чем проблема.Я посетил так много ссылок, но не нашел подходящего ответа.
Вот мой код функции C #: -
public bool PreviewAsReviewerButtonEnableDisable(string advId, string userType)
{
bool result = false;
using (RMS_MVCEntities entities = new RMS_MVCEntities())
{
var command = entities.Database.Connection.CreateCommand();
command.CommandText = "[AdvTax].[usp_PreviewAsReviewerButton_Enable_Disable]";
command.CommandType = CommandType.StoredProcedure;
command.Parameters.Add(new SqlParameter("@AdvID", advId));
command.Parameters.Add(new SqlParameter("@Type", userType));
command.Parameters.Add(new SqlParameter("@EnableDisable", SqlDbType.Bit));
command.Parameters["@EnableDisable"].Direction = ParameterDirection.Output;
entities.Database.Connection.Open();
var reader = command.ExecuteReader();
result = Convert.ToBoolean(command.Parameters["@EnableDisable"].Value);
entities.Database.Connection.Close();
}
return result;
}
Вот мойSql хранимая процедура: -
ALTER PROCEDURE [AdvTax].[usp_PreviewAsReviewerButton_Enable_Disable]
@AdvID nvarchar(20),
@Type nvarchar(20),
@EnableDisable bit output
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
If @Type='CTT Maker'
Begin
Declare @Count int=(select Count(*) from [AdvTax].[AdvTax_Computation] where AdvID=@AdvID and IsActive=1)
If @Count>0
Begin
set @EnableDisable=1
End
Else
Begin
set @EnableDisable=0
End
End
If @Type='CTT Checker'
Begin
Declare @Count1 int=(select Count(*) from [AdvTax].[AdvTax_Computation_Checker]
where AdvID=@AdvID and IsActive=1)
If @Count1>0
Begin
set @EnableDisable=1
End
Else
Begin
set @EnableDisable=0
End
End
END
Пожалуйста, помогите.