Dúvida, alguém que manja de delphi e mysql!

26/05/2018

0

Olá estou fazendo um software de controle de estoque com mysql. Existe a tabela de produtos, notas fiscais e itens sendo que a de itens é a tabela do meio por ser uma relação N - N. Tenho que fazer INNER JOIN entre as tabelas para isso na tabela itens tem o idproduto chave estrangeiraa (vindo da tabela produtos que já tem os produtos cadastrados) e o idnota chave estrangeira da tabela notas que CADASTRA JUNTO COM O LANÇAMENTO DOS ITENS num mesmo form. Só que na hora de inserir um item num botao da erro pois ainda não cadastrei a nota fiscal para gerar um id auto_increment para ser inserido na chave estrangeira da tabela itens. Quero lançar os itens e depois gravar a nota. Vi que preciso usar um tal de COMMIT do mysql. O que posso fazer? Como funcionaria o commit nesse caso?

Estou usando o delphi 7 e o zeos para ligar com o banco de dados.
Luiz Silva

Luiz Silva

Responder

Post mais votado

26/05/2018

Boa Noite Luiz, o seu caso é um pouco mais do que isso que você pede. Acredito que você precisa de trabalhar com mestre-detalhe ou lista de objetos. Pelo que eu entendi, você quer salvar os itens apenas se salvar a nota inteira não é? Voce pode tentar utilizar o commit direto do banco, mas acharia melhor voce dar uma olhada neste link, que pode ser o que voce precisa.
https://www.devmedia.com.br/curso/delphi-memory-leak-criando-e-destruindo-objetos/2016

Wilton Santos

Wilton Santos
Responder

Mais Posts

27/05/2018

Luiz Silva

Ok vou dar uma estudada no assunto de mestre detalhe, mas no caso do commit? Como funcionaria? Eu entendi que ele serve para realizar as transações se não houver erro e o rollback para revertrer e não realiza-las. Eu não entendi muito bem como isso poderia me ajudar nesse caso. Você poderia me dar uma breve explicação de como isso poderia me ajudar? Até gostaria de te mandar um print do form de movimento de estoque que estou programando :)
Responder

27/05/2018

Luiz Silva

Sim quero preencher os campos com os dados da nota e abaixo inserir os itens inserindo em um dbgrid (na tabela itens) e então depois gravar a nota com itens relacionados a ela!
Responder

APRENDA A PROGRAMAR DO ZERO AO PROFISSIONAL

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar