tôi có một thủ tục lưu trữNhận Quay trở lại giá trị gia tăng từ Thủ tục lưu trữ trong 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
và trong 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);
nhưng nó luôn luôn quay trở lại 0. Xin hãy giúp tôi giải quyết vấn đề này
bạn có chắc chắn quy trình không trả về 0 không? – adt
@adt nếu trực tiếp thực hiện thủ tục trong SQL Server, nó hoạt động chính xác nhưng trong C#, nó luôn cho 0 –
bản sao có thể có của [Nhận giá trị trả về từ thủ tục được lưu trữ trong C#] (http://stackoverflow.com/questions/706361/ get-return-value-from-stored-procedure-in-c-sharp) –