none
Erro Insert no mobile RRS feed

  • Pergunta

  • Bom dia , Estou tendo problema na hora de inserir um pedido de venda no sistema mobile, na verdade le esta inserindo normalmente so que não exibe no Grid 

    eu tenho dois formulários um que faz o cabeçalho do pedido e outro que insere os pedidos de forma que chamo apos inserir o cabeçalho com ShowDialog();

     

    ai ele esta fazendo a  inclusão mas na hora de atualizar o grid da este erro

    >>Data conversion failed. [ OLE DB status value ( if known ) = 2 ]

    que esta caindo do try catch do formulario de  cabeçalho.

    //Segue as imagens do fonte.

    http://img696.imageshack.us/f/tela1n.jpg/

    http://img29.imageshack.us/f/tela2.jpg/

    quarta-feira, 2 de junho de 2010 11:52

Respostas

  • Então...

    Aí está sendo feito um JOIN entre OrderDetails e Produtos onde OrderDetails.product_id = Products.product_name...

    Isso não faz sentido.. Deve ser por isso que está dando esse problema...

    Acho que o relacionamento no DataSet está definido errado.. Ou você precisa consertar o JOIN nessa query...


    André Alves de Lima
    Visite o meu site: http://andrealveslima.spaces.live.com
    Me siga no Twitter: @andrealveslima
    • Marcado como Resposta HelloCSharp sexta-feira, 4 de junho de 2010 17:04
    sexta-feira, 4 de junho de 2010 16:59
    Moderador

Todas as Respostas

  • Prezado,

    Em qual linha exatamente está dando esse erro?

    Você já tentou inserir uma linha no banco com os mesmos dados que você está utilizando na aplicação?


    André Alves de Lima
    Visite o meu site: http://andrealveslima.spaces.live.com
    Me siga no Twitter: @andrealveslima
    quinta-feira, 3 de junho de 2010 22:01
    Moderador
  • Não tenho como incluir diretamente no banco pois esta aplicação está no Emulador do Windows Mobile, mas apos adicionar o pedido ele grava

    o registro so que aparece esta mensagem que eh uma exception, apos isso não posso fazer mais nada.

    Analisando no Server explorer do emulador da  para ver o registro gravado.

     

    A parte do código que gera o erro é esta quando ele tenta atualizar o grid:

    private void GetInfoGrid()
     {
      if (DSMobileUtil.DesignerUtil.IsRunTime())
      {
      // TODO: Delete this line of code to remove the default AutoFill for 'dSMobile.OrderDetails'.
      this.orderDetailsTableAdapter.FillByOrderId(this.dSMobile.OrderDetails, OrderId);
      }
      orderDetailsDataGrid.DataSource = this.dSMobile.OrderDetails;
     }

     

    • Editado HelloCSharp sexta-feira, 4 de junho de 2010 17:23
    sexta-feira, 4 de junho de 2010 12:30
  • Prezado,

    Acredito que o erro esteja ocorrendo no FillByOrderId, não?

    Deve ter algum problema no código desse método... Tem como você postar pra gente o conteúdo dele?


    André Alves de Lima
    Visite o meu site: http://andrealveslima.spaces.live.com
    Me siga no Twitter: @andrealveslima
    • Marcado como Resposta HelloCSharp sexta-feira, 4 de junho de 2010 16:58
    • Não Marcado como Resposta HelloCSharp sexta-feira, 4 de junho de 2010 17:04
    sexta-feira, 4 de junho de 2010 15:51
    Moderador
  • SELECT   
     OrderDetails.Item_id, 
     OrderDetails.order_id, 
     OrderDetails.quantity, 
     OrderDetails.unitPrice, 
     Products.product_name
    
    FROM 
     OrderDetails 
    
    INNER JOIN
     Products ON OrderDetails.product_id = Products.product_name
    
    WHERE  
     (OrderDetails.order_id = @order_id)
    sexta-feira, 4 de junho de 2010 16:38
  • Então...

    Aí está sendo feito um JOIN entre OrderDetails e Produtos onde OrderDetails.product_id = Products.product_name...

    Isso não faz sentido.. Deve ser por isso que está dando esse problema...

    Acho que o relacionamento no DataSet está definido errado.. Ou você precisa consertar o JOIN nessa query...


    André Alves de Lima
    Visite o meu site: http://andrealveslima.spaces.live.com
    Me siga no Twitter: @andrealveslima
    • Marcado como Resposta HelloCSharp sexta-feira, 4 de junho de 2010 17:04
    sexta-feira, 4 de junho de 2010 16:59
    Moderador
  • O select estava incorreto 

    o certo é assim

     

    SELECT   OrderDetails.Item_id, OrderDetails.order_id, OrderDetails.quantity, OrderDetails.unitPrice, Products.product_name
    FROM     OrderDetails, Products 
     
    WHERE OrderDetails.product_id = Products.product_id AND (OrderDetails.order_id = @order_id)
    Obrigado por ajudar , agente so enxerga os erros quando precisa ser apresentado.

    sexta-feira, 4 de junho de 2010 17:01
  • Magina!

    Fico feliz por você ter conseguido resolver seu problema..

    :)


    André Alves de Lima
    Visite o meu site: http://andrealveslima.spaces.live.com
    Me siga no Twitter: @andrealveslima
    sexta-feira, 4 de junho de 2010 17:19
    Moderador