У меня есть простая хранимая процедура SQL Server:Доступа к SQL Server выходных параметры хранимой процедуры в C#
ALTER PROCEDURE GetRowCount
(
@count int=0 OUTPUT
)
AS
Select * from Emp where age>30;
SET @[email protected]@ROWCOUNT;
RETURN
Я пытаюсь получить доступ к выходному параметру в следующих C# код:
SqlConnection con = new SqlConnection();
con.ConnectionString = "Data Source=localhost\\SQLEXPRESS;Initial Catalog=answers;Integrated Security=True";
SqlCommand cmd = new SqlCommand();
cmd.Connection = con;
cmd.CommandText = "GetRowCount";
cmd.CommandType=CommandType.StoredProcedure;
cmd.Parameters.Add(new SqlParameter("@count", SqlDbType.Int));
cmd.Parameters["@count"].Direction = ParameterDirection.Output;
con.Open();
SqlDataReader reader=cmd.ExecuteReader();
int ans = (int)cmd.Parameters["@count"].Value;
Console.WriteLine(ans);
Но при запуске кода исключение NullReferenceException выбрасывается во вторую последнюю строку кода. Где я иду не так? Заранее спасибо!
P.S. Я новичок в процедурах SQL, поэтому я упомянул this article.
Анкита я обновил свой код, вы должны просто изменить директиву ExecuteNonQuery –