Usuário com melhor resposta
Erro Insert no mobile

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.
- Movido C. Augusto Proiete [MVP] quinta-feira, 3 de junho de 2010 20:35 Movido para o fórum apropriado (De:C#)
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
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 -
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
-
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
-
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)
-
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
-
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. -
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