none
Inserção de multiplos registros RRS feed

  • Discussão Geral

  • Bom dia pessoal!

    Eu tenho um Ilist da seguinte forma:

    if (entradaprodutos.Count > 0)
                    {
                        sql = String.Join(",", entradaprodutos);
                        objbiodinamicaDAO.Incluir_opentradaprodutosdetablhes(sql);
    
                        //Aqui faz os processos dos itens dos auxiliares dos detalhes opoperacoesauxiliaresdetalhes
                        //Inicio
                        IList<Cadbiodinamica> listaentradadetalhes = new List<Cadbiodinamica> { };
                        listaentradadetalhes = objbiodinamicaDAO.Listarentrada(codentrada.ToString());
    
                        for (int i = 0; i < listaentradadetalhes.Count; i++)
                        {
                            sql = "(" + op_entradas[0] + ", '', 0, 0, 1.00000000, 1.00000000, 0, 0, '', '', '', '', '', 0,
     '', '', 66, 0, 126, '', 2, '1949', 'Outra entrada de mercadoria ou prestação de serviço não especificada', 2, 2, 1, 1, 2, 2, 1, 2, '60', 1, 4, 0, 0, 0, 0, 0, 0, '0', '000', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '49', 1, 0, 100, 0, '999', 0, 0, '', 0, 0, 0, 0,
     '', '', '', '', '', 0, 0, 0, 0, '', '', '', '', 0, 0, 0, 0, 0, 0, 0, 0, '', '', 0, 0, 0, 0, 0, 8201, 5, 3, 1, 1, 0, NULL, 5, 5, 5, 5, 5, 5, '', '', '', '', 0, 0, 0, 0, 0, 0, " + listaentradadetalhes[i].Id__ep2 + "," + empresa +
     ", '_EP2', 'OUTROS', NOW(), NOW())";
                            entradaauxiliares.Add(sql);
                        }
                        if (entradaauxiliares.Count > 0)
                        {
                            sql = String.Join(",", entradaauxiliares);
                            objbiodinamicaDAO.Incluir_OperacoesAuxiliaresDetalhes_entrada(sql);
                        }
                        //Fim
                    }

    Ele faz em um unico insert into ......Values ( a,a,a,a),(b,b,b,b,),( c,c,c,c)....até 2238 itens e o Mysql para de funcionar...Existe outra forma de fazer isso?

    Att

    Fabricio Vale


    Fabricio


    • Editado Marcos SJ sexta-feira, 13 de maio de 2016 12:16 Edição
    • Tipo Alterado Marcos SJ sexta-feira, 13 de maio de 2016 19:14 How to
    sexta-feira, 13 de maio de 2016 11:43

Todas as Respostas

  • Boa tarde Fabrício,

    andei dando uma pesquisada e queria saber se você já deu uma olhada nestes tópicos:

    http://blog.thiagobelem.net/cadastrando-multiplos-registros-no-mysql-ao-mesmo-tempo

    http://rberaldo.com.br/inserindo-multiplos-registros-em-tabela-de-banco-de-dados/

    Pelo o que eu pude entender, o seu for/foreach sobrecarrega o servidor, então dê uma olhada e me diga se te ajuda, caso não, continuarei a procurar. 

    Abraços e boa sorte.

    sexta-feira, 13 de maio de 2016 19:29