none
Select com For RRS feed

  • Pergunta

  • Olá galera preciso de mais uma ajuda.

    Tenho a seguinte query, que foi extraida de um código VB6, porém preciso transformar em C# como faço com o for, pois já tentei algumas coisas e não deu certo, se puderem me ajudar...

                    String iSqlI2 = @"
                        INSERT INTO TMP_METAS
                        (CON_IDE,CON_M01,CON_M02,CON_M03,CON_M04,CON_M05,CON_M06,CON_M07,CON_M08
                        ,CON_M09,CON_M10,CON_M11,CON_M12,CON_QEM)
                            SELECT CON_IDE
                            For I = 1 To nMes - 1
                                ,0
                            Next I
                            ,PRC_QTD_HOR
                            For I = nMes + 1 To 12
                                ,0
                            Next I
                            //,USER
                            FROM  PRODUTIVIDADE_CATEGORIAS, CONTATO_HIST1
                            WHERE CON_QEM = USER
                            AND   CON_FPF_IDE NOT IN (1081,871,561)
                            AND   CON_FPF_IDE = PRC_FPF_IDE
                            AND   CON_CPR_IDE = PRC_CPR_IDE
                            AND  (CON_FLG_DEM = 0 OR CON_FLG_DEM IS NULL)";

                    DB_ORC_Command.ExecuteNonQuery(_CnnStr, CommandType.Text, iSqlI2);


    Se ajudei? Marque como util.. Obrigado :D

    sexta-feira, 20 de setembro de 2013 18:20

Respostas

  • Resolvido, joguei o for para fora do select e passei por variavel, ficou dessa forma:

    //-----------------------------------------------------------------------------------------
                    //Mês Atual até o Mês 01
                    int a = int.Parse(nMes.ToString());
                    string xa = "";

                    for (int i = 1; i <= a; i++)
                    {
                        xa += ",0";
                    }

                    //Mês Atual até o Mês 12
                    int a1 = int.Parse(nMes.ToString());
                    string xa1 = "";

                    for (int i = a1; i <= 12; i++)
                    {
                        xa1 += ",0";
                    }

                    String iSqlI2 = @"
                        INSERT INTO TMP_METAS
                        (CON_IDE,CON_M01,CON_M02,CON_M03,CON_M04,CON_M05,CON_M06,CON_M07,CON_M08
                        ,CON_M09,CON_M10,CON_M11,CON_M12,CON_QEM)
                            SELECT CON_IDE, " + xa + @" ,PRC_QTD_HOR, " + xa1 + @" ,USER
                            FROM  PRODUTIVIDADE_CATEGORIAS, CONTATO_HIST1
                            WHERE CON_QEM = USER
                            AND   CON_FPF_IDE NOT IN (1081,871,561)
                            AND   CON_FPF_IDE = PRC_FPF_IDE
                            AND   CON_CPR_IDE = PRC_CPR_IDE
                            AND  (CON_FLG_DEM = 0 OR CON_FLG_DEM IS NULL)";

                    DB_ORC_Command.ExecuteNonQuery(_CnnStr, CommandType.Text, iSqlI2);


    Se ajudei? Marque como util.. Obrigado :D

    sexta-feira, 20 de setembro de 2013 19:20