Como fazer inclusão de pedido e itens de pedido
21/07/2009
0
Se o Pedido está relacionado com itens, temos que primeiro adicionar o Pedido para depois adicionar os itens, senão dá erro no DB.
Como fazer tudo isso ´em memoria´ para se depois de todos os itens estarem colocados no pedido (sem alterar o DB), ao clicar um botão, dai sim o pedido sera adicionado e os seu itens tb no DB.
Frcol
Posts
29/08/2009
Marinheiro
Ai vai uma solução:
Pega todos os itens do pedido e, antes de mandar gravar na base de dados, faça o seguinte:
Sua tabela de pedidos tem que ter campo autonumeração
Salva primeiro o pedido
Executa uma consulta na tabela de pedidos para pegar o maior campo (autonumeração) desta tabela
Guarda este valor numa variavel
Agora voce pode pegar os itens do pedido e gravar na tabela, inserindo o numero do pedido guardado na sua variavel.
Acredite, funciona!!!
Espero ter ajudado.
Wellington Marinheiro
31/08/2009
Signori
Cara, sei que tem um recurso onde vc utiliza o cache do banco, nunca usei mas sei que tem, é assim, você ´salva´ o pedido, mas na verdade isso fica na memória do BD, e somente quando vc acabar de adicionar os itens vc da um commit, e todos os dados, incluindo o pedido são salvos...
Vou dar uma pesquisada...
flw
08/09/2009
Slipmp
Uma maneira legal de você fazer é transaction.
Transaction = Transação. Ela é uma especie de função que você
´instancia´ dando um inicio ´begin transaction´ e um fim ´commit transaction´ ou quando dá erro ´roll back transaction´
Aqui tem um link para C#:
http://www.knowdotnet.com/articles/transactions.html
Por exemplo: Você quer inserir um pedido - Vamos supor que inseriu no seu banco está como auto incremental ´identity´ e retorna o ID pra você como =10 por exemplo.
Depois você vai amarrar os itens de pedido no pedido.
Caso der erro vc usa o RollBack transaction que ele retorna tudo e tá blz.
Dá uma pesquisada em transaction. Resolverá seus problemas e você verá que tem muitaaaaaa aplicação ´tudo é transaction XD´
Espero ter ajudado!
Abraços!
Clique aqui para fazer login e interagir na Comunidade :)