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 RYNNES
      Um parque de diversão está começando a investir em tecnologia e a realizar automatização de alguns brinquedos, por meio do uso de inteligência artificial e tecnologias de escâner, a fim de verificar a altura dos clientes, e definir se eles estão aptos a entrar ou não em um brinquedo, sem precisar utilizar réguas ou medidor físico. Você foi contratado para desenvolver um protótipo de algoritmo para realizar essa verificação.
       
       
       
      Sendo assim, é necessário descrever a importância de fazer uma análise de um problema, aplicando as estruturas de repetição e o conceito na prática para verificar se três pessoas, medindo 1,73, 1,81 e 1,85 m podem entrar em um brinquedo que aceita somente maiores de 1,80 m. O algoritmo deve medir a altura das pessoas e efetuar uma avaliação, constatando se a altura é maior ou igual a 1,80 m, para possam entrar. Se menor do que 1,80 m, o programa apresenta a mensagem “Entrada Não Permitida”.
       
    • By alekoxid
      Olá pessoal, estou fazendo um programa em Python, baseado em outro em C.
       
      Como eu escreveria esse trecho aqui em python?
      Se alguém puder me explicar, eu agradeço
       
      Código:
      #S é definido como 1000000
      #n_pts=20
       
       
      Void numeric(){
            float a, b , c, d;
            float P_[100],Q_[100], T[100];
            float den;
            float dx=L/(n_pts-1);
       
           P_[1]=0;
           Q_[1]=Ta;
           T[1]=Ta;
           T[n_pts]=Tb;
           a=(2*k/dx);
           c=d=k/dx;
           d=S*dx;
           int n;
       
          for ( n=2; n< n_pts; n++){
          den= (a-c*P_[n-1]);
          P_[n]= b/ den;
         Q_[n]= (d+c*Q_[n-1])/den
         }
       
        printf("\n\n Solução : \n")
        print("\n Ponto %2d T=%4.1f C", n_pts, T[n_pts]);
       
      for ( n=n_pts-1; n>1; n--){
          T[n]=Q_[n]+P_[n]*T[n+1];
          printf("\n Ponto %2 T=%4.1f C", n, T[n]);
          }
    • By jeffer261
      Pessoal, boa noite!
       
      Alguem poderia por gentileza modificar o codigo abaixo  em C++ para C?
       
       
      #include <stdio.h>
      #include <stack>
      int main(){
          int n, i, j;
          char linha[2000];
          char entrada[1000], saida[1000];
          std::stack<char> pilha;
          
          while(scanf("%d", &n) && n){
              for (i = 0; i < n; i++) 
                  scanf(" %c", &entrada);
              for (i = 0; i < n; i++) 
                  scanf(" %c", &saida);
              entrada[n] = saida[n] = '\0';
              i = j = 0;
              while(1){
                       if(!pilha.empty() && j < n && pilha.top() == saida[j]){
                             pilha.pop();
                             printf("R");
                             j++;
                       }else if(i < n){
                              pilha.push(entrada);
                              printf("I");
                              i++;
                       }else break;                    
              }
              
              if(pilha.empty()) printf("\n");
              else  printf(" Impossible\n");
              while (!pilha.empty()){
                    pilha.pop();
              }
          }
          return 0;
      }
    • By kateLorrayne
      Oii, Preciso de ajuda em uma atividade que sinceramente não estou sabendo montar, em partes individual eu ate sei, mas unificar é a minha dificuldade, peguei essa resposta da internet, porem não roda, se alguém puder me ajudar, eu agradeço.
       
      *Faça um programa em linguagem de programação C++ para resolver o problema abaixo:
      “Dado um número inteiro positivo N, determinar:
      (a) o total de dígitos pares de N;
      (b) o total de dígitos impares de N;
      (c) a soma dos dígitos de N;
      (d) qual é o maior e qual é o menor digito que ocorre em N.
       
      #include <stdio.h>
      #include <stdlib.h>
      int main()
      {
          int num1[5], par[5],impar[5];
          //Entrada do numero de 4 digitos
          printf("Digite um numero entre 1000-9999:\n");
          scanf("%d", &num1);
          if(num1<1000 || num1>9999)  /*Condição de existência*/
          {
              printf("Numero Invalido");
          }
           return 0;
      }
      #include <stdio.h>
      int ckdig (int n, int* p, int* i)
      {
          int d = 0;
          
          if(n < 0)   n = -n;
          *p = *i = 0;
          
          while(n)
          {
              if((n % 2) == 0)
                  (*p)++;
              else
                  (*i)++;
              n /= 10;
              d++;
          }
          return d;
      }
       
       
    • By victormota1695
      Estou desenvolvendo um programa para trabalho de faculdade onde
      preciso usar estrutura de repetição para perguntar ao usuario um nome/itens armazena-los e quando o usuario nao quiser mais digitar os nomes ao sair do loop mostra todos os nomes que ele digitou.
       
      nao estou conseguindo preciso de ajuda. dese ja agradeço.
       
      meu codigo ate o momento e:
       
      #include <stdio.h>
      #include<stdlib.h>

      int main (){
      char lista,lista2;
      int menu1,menu2;

      printf("***BEM-VINDO AO LISTSUPER***\n\n");
      // ****Aqui o 1º menu de seleção****//
      printf("Escolha uma opção\n");
      printf("1-inserir novos itens\n2-inserir quantidade\n3-calcular valor\n4-mostrar itens\n\n");
      scanf("%i",&menu1);

      // ***Aqui e o loop para digitar os itens desejados****//
      if (menu1==1){
        while(1) {
             printf("insira os itens\n");
             scanf("%s",&lista);
             printf("deseja inserir novos itens? [1-sim/2-nao]\n");
             scanf("%i",&menu2);

       if (menu2==2){ break;}
      }
      }
      // ***Caso ele não selecione a opção para inserir novos itens aparecera esta mensagem***//
      else {
          printf("Não ha itens inseridos\nEscolha a opção ( inserir novos itens )");
      }
      //***Apos acabar de digitar os itens mostrar a lista dos itens digitados***//

      return 0;

      }
       
×

Important Information

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