У меня есть хранимая процедураПолучить возвращаемое значение из хранимой процедуры в asp.net
ALTER PROC TESTLOGIN
@UserName varchar(50),
@password varchar(50)
As
Begin
declare @return int;
set @return = (SELECT COUNT(*)
FROM CPUser
WHERE UserName = @UserName
AND Password = @password);
return @return;
End
и в C#
SqlConnection con = db.con;
SqlCommand cmd = new SqlCommand("TESTLOGIN", con);
cmd.CommandType = CommandType.StoredProcedure;
SqlParameter parm = new SqlParameter("@return", SqlDbType.Int);
parm.Direction = ParameterDirection.ReturnValue;
cmd.Parameters.Add(parm);
cmd.Parameters.Add(new SqlParameter("@UserName", txtUserName.Text.ToString().Trim()));
cmd.Parameters.Add(new SqlParameter("@password", txtPassword.Text.ToString().Trim()));
cmd.ExecuteNonQuery();
con.Close();
int id = Convert.ToInt32(parm.Value);
но всегда возвращает 0. Пожалуйста, помогите мне решить эту проблему
Вы уверены, что процедура не возвращается 0? – adt
@adt, если он выполняется непосредственно в SQL Server, он работает правильно, но в C# он всегда дает 0 –
возможный дубликат [Получение возвращаемого значения из хранимой процедуры в C#] (http://stackoverflow.com/questions/706361/ get-return-value-from-stored-procedure-in-c-sharp) –