Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

return parameters from function

Tags:

asp.net

I have a function:

internal static void GetUserData(int userId, out string userName,
                                 out string userEmail, out string userPassword)
{

  using (SqlConnection con = Util.GetConnection())
  {
    con.Open();
    using (SqlCommand cmd = new SqlCommand("usp_UD_SelectById", con))
    {
      cmd.CommandType = CommandType.StoredProcedure;

      cmd.Parameters.Add("@UD_ID", SqlDbType.Int).Value = userId;
      cmd.Parameters.Add("@UD_UserName", SqlDbType.NVarChar, 100).Direction = ParameterDirection.Output;
      cmd.Parameters.Add("@UD_Password", SqlDbType.NVarChar, 100).Direction = ParameterDirection.Output;
      cmd.Parameters.Add("@UD_Email", SqlDbType.NVarChar, 100).Direction = ParameterDirection.Output;


      cmd.ExecuteNonQuery();

      userName = Convert.ToString(cmd.Parameters["@UD_UserName"].Value);
      userEmail = Convert.ToString(cmd.Parameters["@UD_Email"].Value);
      userPassword = Convert.ToString(cmd.Parameters["@UD_Password"].Value);

    }
  }
}

and the call

string userEmail;
string userName;
string userPassword;
MemberHelper.GetUserData(userId, out userName, out userEmail, out userPassword);

Sometimes I need to get just one parameter from the out parameters, how can I call the function when I want to get just one:

string userPassword;
MemberHelper.GetUserData(userId,"","",out userPassword);
like image 444
eyalb Avatar asked Dec 19 '25 13:12

eyalb


1 Answers

You have to supply them. out parameters are not optional. You could write a custom overload that only provides the out parameters that you need.

like image 105
Daniel A. White Avatar answered Dec 21 '25 05:12

Daniel A. White



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!