SqlParameter[] parameters = new SqlParameter[5]; parameters[0] = new SqlParameter("RegistrationID", RegID); parameters[1] = new SqlParameter("PersonID", SqlDbType.Int); parameters[1].Direction = ParameterDirection.Output ; parameters[2] = new SqlParameter("FirstName", SqlDbType.VarChar, 25); parameters[2].Direction = ParameterDirection.Output; parameters[3] = new SqlParameter("LastName", SqlDbType.VarChar, 30); parameters[3].Direction = ParameterDirection.Output; parameters[4] = new SqlParameter("Email", SqlDbType.VarChar, 75); parameters[4].Direction = ParameterDirection.Output; //new System.Data.SqlClient.SqlParameter("RegistrationID", RegID) Util.RunStoredProc("SaveApprovedPerson", parameters); PersonName = parameters[2].Value + " " + parameters[3].Value; // Here is the implicit cast MessageText = "Dear " + PersonName + ", " + Environment.NewLine + Environment.NewLine + "Your Registration has been approved! " + Environment.NewLine + Environment.NewLine + "Welcome to ...!"; // Here we need explicit cast ? Util.SendMessage(parameters[4].Value.ToString(), Convert.ToInt32(parameters[1].Value), Membership.GetUser(), false, MessageText, "Registration Approved", System.Configuration.ConfigurationManager.AppSettings["devEmail"],null,null );