Array
(
)

Erro Parâmetro

Chayene Carmo
   - 08 jan 2015

Bom dia, estou desenvolvendo uma aplicação em WPF que estou com o seguinte problema: Parâmetro.
Caso utilize parâmetro em uma consulta não me retorna nada mesmo havendo dados naquela tabela, alguém pode me ajudar?

Joel Rodrigues
   - 08 jan 2015

Qual banco você está utilizando? Pois você marcou as tags Oracle e PostegreSQL.

Chayene Carmo
   - 08 jan 2015

Oi, estou utilizando o access.

Alex Lekao
   - 08 jan 2015

Nao conheco access, mas acredito que se vc postar o codigo ficara mais facil para ajudarmos.

Chayene Carmo
   - 08 jan 2015

#Código

public ArrayList ListarEmpenho(int id_centro_custo)
        {
            ArrayList listarEmpenhos = new ArrayList();
            Nota_Empenho_BO neBO;

            using (_minhaConexao = new Conexao_DAO(true))
            {
                string select = "Select NotaEmpenho.AnoNota, NotaEmpenho.IdNota, NotaEmpenho.IdTipoEmpenho, NotaEmpenho.TotalNota, NotaEmpenho.ValorLiquidado, NotaEmpenho.ValorPago, NotaEmpenho.ValorAnulado, NotaEmpenho.CGC,  NotaEmpenho.Tradutora, PlanoConta.IdProjetoOuATividade from NotaEmpenho inner join PlanoConta on NotaEmpenho.Tradutora = PlanoConta.IdTradutora "; /* where (PlanoConta.IdProjetoOuAtividade ='" + id_centro_custo + "') */

                OleDbDataReader reader = _minhaConexao.ExecutaLeitura_Access(select);
                while (reader.Read())
                {
                        neBO = new Nota_Empenho_BO();
                        neBO.Ano_Nota = Convert.ToInt32(reader[0]);
                        neBO.Id_Nota = Convert.ToInt32(reader[1]);
                        if (Convert.ToInt16(reader[2]) == 00)
                        {
                            neBO.Tipo_Empenho = Tipo_Empenho.N_existe;
                        }
                        else if (Convert.ToInt16(reader[2]) == 01)
                        {
                            neBO.Tipo_Empenho = Tipo_Empenho.Ordinaria;
                        }
                        else if (Convert.ToInt16(reader[2]) == 02) if (reader[9].ToString() == id_centro_custo.ToString())
                        {
                            neBO.Tipo_Empenho = Tipo_Empenho.Estimativa;
                        }
                        else
                        {
                            neBO.Tipo_Empenho = Tipo_Empenho.Global;
                        }
                        neBO.Total_Nota = Convert.ToDecimal(reader[3]);
                        neBO.ValorLiquidado = Convert.ToDecimal(reader[4]);
                        neBO.ValorPago = Convert.ToDecimal(reader[5]);
                        neBO.ValorAnulado = Convert.ToDecimal(reader[6]);
                        neBO.CGC = Convert.ToString(reader[7]);
                        neBO.Tradutora = Convert.ToString(reader[8]);

                        listarEmpenhos.Add(neBO);
                }
                reader.Dispose();
                return listarEmpenhos;
            }
        }

Alex Lekao
   - 08 jan 2015

Ola,

Vou me ater ao codigo SQL.

No script vc esta usando inner, ele apresenta apenas o que existir nas duas tabelas.

Acredito que o parametro que esteja se referindo seja em relacao ao codigo que vc esta usando.

nao terei como ajudar mais.

Marisiana
   - 10 jan 2015

Quando você executa o SELECT direto no banco, ele retorna dados?