Example #1
0
        internal void ProcessOutputParameters(MySqlDataReader reader)
        {
            // We apparently need to always adjust our output types since the server
              // provided data types are not always right
              AdjustOutputTypes(reader);

              if ((reader.CommandBehavior & CommandBehavior.SchemaOnly) != 0)
            return;

              // now read the output parameters data row
              reader.Read();

              string prefix = "@" + StoredProcedure.ParameterPrefix;

              for (int i = 0; i < reader.FieldCount; i++)
              {
            string fieldName = reader.GetName(i);
            if (fieldName.StartsWith(prefix, StringComparison.OrdinalIgnoreCase))
              fieldName = fieldName.Remove(0, prefix.Length);
            MySqlParameter parameter = command.Parameters.GetParameterFlexible(fieldName, true);
            parameter.Value = reader.GetValue(i);
              }
        }