c# – Salvar dados de um datagridview em um banco de dados

Estou querendo salvar mais de uma linha do meu datagridview no banco de dados, mas ele salva apenas a primeira linha e depois da erro dizendo que os parâmetros já foram definidos, queria saber onde eu estou errando

        MySqlConnection conn;
        conn = new MySqlConnection(conexao);
        conn.Open();

        cmd = new MySqlCommand("INSERT INTO TesteCauaVendas VALUES(@Nome, @Cor, @Especie, @Quantidade, @Vendedor, @Data, @Cliente)", conn);

        try
        {
            for (int i = 0; i < dtCompra.Rows.Count - 1; i++)
            {
                cmd.Parameters.AddWithValue("@Nome", dtCompra.Rows(i).Cells(0).Value);
                cmd.Parameters.AddWithValue("@Cor", dtCompra.Rows(i).Cells(1).Value);
                cmd.Parameters.AddWithValue("@Especie", dtCompra.Rows(i).Cells(2).Value);
                cmd.Parameters.AddWithValue("@Quantidade", dtCompra.Rows(i).Cells(3).Value);
                cmd.Parameters.AddWithValue("@Vendedor", dtCompra.Rows(i).Cells(4).Value);
                cmd.Parameters.AddWithValue("@Data", dtCompra.Rows(i).Cells(5).Value);
                cmd.Parameters.AddWithValue("@Cliente", dtCompra.Rows(i).Cells(6).Value);                        
           
               MessageBox.Show("Venda Realizada com Sucesso");
            }

            cmd.ExecuteNonQuery();
        }
        catch(Exception ex)
        {
            MessageBox.Show(ex.Message, "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error);                   
        }
        finally
        {
            conn.Close();
        }