Dúvida, alguém que manja de delphi e mysql!
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.
Estou usando o delphi 7 e o zeos para ligar com o banco de dados.
Luiz Silva
Curtidas 0
Melhor post
Wilton Santos
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
GOSTEI 1
Mais Respostas
Luiz Silva
26/05/2018
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 :)
GOSTEI 0
Luiz Silva
26/05/2018
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!
GOSTEI 0