private bool SerializeParameter(MySqlParameterCollection parameters, MySqlPacket packet, string parmName, int parameterIndex)
{
MySqlParameter mySqlParameter;
if (!parameters.containsUnnamedParameters)
{
mySqlParameter = parameters.GetParameterFlexible(parmName, false);
}
else
{
if (parameterIndex > parameters.Count)
{
throw new MySqlException(Resources.ParameterIndexNotFound);
}
mySqlParameter = parameters[parameterIndex];
}
if (mySqlParameter != null)
{
mySqlParameter.Serialize(packet, false, this.Connection.Settings);
return(true);
}
if (parmName.StartsWith("@", StringComparison.Ordinal) && this.ShouldIgnoreMissingParameter(parmName))
{
return(false);
}
throw new MySqlException(string.Format(Resources.ParameterMustBeDefined, parmName));
}