Array
(
)

Como fazer inclusão de pedido e itens de pedido

Frcol
   - 21 jul 2009

Como fazer inclusão de pedido e itens de pedido sem alterar o DB diretamente.

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.

Marinheiro
   - 29 ago 2009

Caro amigo,

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

Signori
   - 31 ago 2009

Você utiliza SQL Server?

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

Slipmp
   - 08 set 2009

Bem isso não é complicado.

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!