Jump to content
rtavix

[Resolvido] A enumeração não gerou resultados

Recommended Posts

Não estou conseguindo ler os valores retornado do banco de dados oracle.

 

Esse é o meu método GetCodProcInter:

 

 

Aqui eu tenho a classe para acessar o Banco de dados:

 

Busco o código e barra e em seguida verifico se existe na base de dados, caso não exista eu insiro,  e se não estiver disponível na tabela, eu  adiciono no log do serviço a mensagem informando e acompanhado do numero do código de barras:

 

Porém estou com problema nessa linha:

Ao verificar, é apresentado a seguinte mensagem:

 

a enumeração não gerou resultados 

Share this post


Link to post
Share on other sites

Mas seu select não retorna o campo COD_PROC_INTER e sim um COUNT.

Adicione um alias pro resultado do seu select:

private static string GetCodProcInter(string CodBarra)
{            
    using (DB db = new DB())
    {
        string SQL = string.Format(@"SELECT count(T0.COD_COMP_BANESTES) QUANTITY FROM SDPJ_COMP_BANESTES T0 WHERE T0.COD_COMP_BANESTES = '{0}'", CodBarra);
        var dados = db.ExecutaComandoComRetorno(SQL);

        if(dados.Read())
        {
            return dados["QUANTITY"].ToString();
        }                
    }

    return "";
}

 

Share this post


Link to post
Share on other sites

Testei aqui amigo, está dando essa mensagem de erro:

 

Oracle.ManagedDataAccess.Client.OracleException
  HResult=0x80004005
  Message=ORA-00923: palavra-chave FROM não localizada onde esperada
  Source=Oracle Data Provider for .NET, Managed Driver
  StackTrace:
   at OracleInternal.ServiceObjects.OracleConnectionImpl.VerifyExecution(Int32& cursorId, Boolean bThrowArrayBindRelatedErrors, SqlStatementType sqlStatementType, Int32 arrayBindCount, OracleException& exceptionForArrayBindDML, Boolean& hasMoreRowsInDB, Boolean bFirstIterationDone)
   at OracleInternal.ServiceObjects.OracleCommandImpl.ExecuteReader(String commandText, OracleParameterCollection paramColl, CommandType commandType, OracleConnectionImpl connectionImpl, OracleDataReaderImpl& rdrImpl, Int32 longFetchSize, Int64 clientInitialLOBFS, OracleDependencyImpl orclDependencyImpl, Int64[] scnForExecution, Int64[]& scnFromExecution, OracleParameterCollection& bindByPositionParamColl, Boolean& bBindParamPresent, Int64& internalInitialLOBFS, OracleException& exceptionForArrayBindDML, OracleConnection connection, OracleLogicalTransaction& oracleLogicalTransaction, IEnumerable`1 adrianParsedStmt, Boolean isDescribeOnly, Boolean isFromEF)
   at Oracle.ManagedDataAccess.Client.OracleCommand.ExecuteReader(Boolean requery, Boolean fillRequest, CommandBehavior behavior)
   at Oracle.ManagedDataAccess.Client.OracleCommand.ExecuteReader()
   at ImportComprovante.DB.ExecutaComandoComRetorno(String strQuery) in C:\Users\robson.amaral\source\repos\ImportComprovante\ImportComprovante\ImportComprovante\DB.cs:line 39
   at ImportComprovante.LeituraTxt.CodBarraJaInserido(String CodBarra) in C:\Users\robson.amaral\source\repos\ImportComprovante\ImportComprovante\ImportComprovante\LeituraTxt.cs:line 237
   at ImportComprovante.LeituraTxt.ProcessaArquivo(String FullPathFile, String FileName) in C:\Users\robson.amaral\source\repos\ImportComprovante\ImportComprovante\ImportComprovante\LeituraTxt.cs:line 193
   at ImportComprovante.LeituraTxt.VerificarHorario() in C:\Users\robson.amaral\source\repos\ImportComprovante\ImportComprovante\ImportComprovante\LeituraTxt.cs:line 52
   at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Threading.ThreadHelper.ThreadStart()
 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By Rui PG
      Olá Amigos!
      Por favor, vocês poderiam me ajudar em uma questão, sou muito novo em desenvolvimento e acabei pegando o barco andando aqui na empresa :) rs.
       
      NECESSIDADE
       
      - Carregar os dados que vem da procedure "Proc_Lista" nas colunas que foram criadas manualmente no Datagrid.
      - Ao clicar no checkbox, da coluna “Selecionar”, de qualquer linha do Datagrid, os dados da linha devem ser apresentados nos campos do Form (TextBox e Combobox).
      - Ao desmar o checkbox da linha selecionada no Datagrid, os dados devem ser limpos do Form.
       
      O que eu tentei fazer
       
       
      Quando executo o programa o sistema está criando os campos automaticamente dentro do datagrid e deveria carregar dentro de cada coluna que foi criada.

      Resultado que está dando errado, quando carrego os dados no datagrid.
      O código está substituindo os meus campos que terminam com o (X), nesse caso preciso que as informações carreguem dentro dos campos terminados em (X) na qual eu criei manualmente, porém respeitando as camadas do projeto na qual descrevi abaixo.
      (Print do form em execução)

       
      CAMADA DE DADOS
      - Lista os Dados para o DataGrid
              public DataTable MostrarVisita(int CODALUNO)
              {
                  comando.Connection = conexao.Conectar();
                  comando.CommandText = "Proc_Lista_FollowupDetalheVisita";
                  comando.CommandType = CommandType.StoredProcedure;
                  comando.Parameters.AddWithValue("@CODALUNO", CODALUNO);
                  leer = comando.ExecuteReader();
                  tabela.Load(leer);
                  conexao.Desconectar();
                  return tabela;
              }//fim do bloco
       
      CAMADA DE NEGOCIOS
      public DataTable MostrarFollowupGeral(string CODALUNO)
              {
                 DataTable tabela = new DataTable();
          tabela = objetoFollowupGeral.MostrarVisita(Convert.ToInt32(CODALUNO));
                 return tabela;
              }
       
      CAMADA DO USUARIO
              private void MostrarFollowupVisita()
              {
       
                  dtgVisita.Columns.Clear
                  var columnCheck = new DataGridViewCheckBoxColumn();
                  columnCheck.HeaderText = "[x]";
                  this.dtgVisita.Columns.Add(columnCheck);
       
                 
                  var varCodAlunoII = txtCodAluno.Text;
      FollowupGeralModel objectInterno = new FollowupGeralModel();               dtgVisita.DataSource = objectInterno.MostrarFollowupGeral(varCodAlunoII.ToString());
                  dtgVisita.Columns[1].Visible = false;
                  txtTotalLinhaDataGrid.Text = dtgVisita.RowCount.ToString();
              }
       
    • By Ana Miguel
      Estou tendo um problema ao tentar adicionar uma tabela nova no meu modelo de digrama da minha base de dados. O VS simplesmente não gera a tabela (no caso, o Entity Types, Complex Types e Function Imports). Porém, a procedure dessa minha tabela é adicionada sem nem um problema.
    • By magrelarr
      Olá pessoal. Me chamo Lucas e tenho uma enorme vontade em aprender programação, na intenção de criar um jogo bem simples, mas com alguns detalhes. Minha ideia é um jogo sobre eleições politicas, numa terra ficticia que criei, e contaria com partidos disputando em sete regiões, números em graficos sobre os votos, eleitos e não eleitos, divisão dos poderes, formação de governo, etc. Algo programado dessa forma. Parece complexo mas seria algo básico.
      Então são duas perguntas:
      1° Por onde começar? Eu tenho muita vontade, mas conheço pouco da área. O primeiro passo que foi a história, os mapas, partidos e logos eu já criei, mas e depois?
      2° qual a melhor linguagem pra se aprender. Será um jogo de texto, sem personagens, apenas números e nomes, e realmente não faço ideia de que tipo de linguagem se usa pra jogos assim.

      Deixem dicas ou se caso se interessem pelo projeto, mantenho contato. Obrigado.
    • By ArxT
      Construa um algoritmo para analisar estoque de uma empresa. Inicialmente o programa deve solicitar do usuário a quantidade de itens diferentes em estoque. Em seguida ler, para cada item, o seu nome e a quantidade de unidades no estoque. Ao final, informar o nome do item com mais unidades armazenadas.
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.