Quero fazer uma implementaçao, onde terei que criar uma nova tabela que seria notafiscal, como faço o relacionamento dessa tabela com as outras duas?para que eu consiga gravar nessa tabela(notafiscal) os id do forncedor e produto? assim com fiz na tabela produto onde consigo pegar o id do forncedor.
se entendi o que você quer, você não precisa do id do fornecedor na notafiscal, já que o produto tem esse id. você precisa apenas de uma tabela de ligação da nota com o produto, já que a relação é n para n (um produto pode estar em várias notas fiscais e uma nota fiscal pode ter vários produtos).
depois se você quiser achar os fornecedores do produtos da nota fiscal, faça um join.
select fornecedor.*, produto.*
from fornecedor
join produto
on fornecedor.id = produto.idFornecedor
join item
on produto.id = item.idProduto
join notafiscal
on item.idNotaFiscal = notafiscal.id
where notafiscal.id = ?
G
gust
Cara oque eu preciso é, na minha aplicaçao quando eu for fazer uma nota fiscal no formulario ai vou colocar a data, preço, ai vou ter um comb onde vou selecionar o fornecedor (dos que foram cadastrados) e outro comb onde vou selecionar o produto(dos que foram cadastrados) ai minha duvida é de como vou setar os id do fornecedor e produto na tabela da nota fiscal.
wbdsjunior
desktop ou web?
G
gust
Web
wbdsjunior
gust:
Web
está usando algum framework?
vou repetir: você não precisa do fornecedor na nota fiscal. o produto deve saber a qual fornecedor pertence.
dito isso, basicamente, basta pegar o valor do select no Servlet usando request.getParameter() e convertendo o valor para inteiro (ou long), mais ou menos assim:
jsp:
<selectname="fornecedor"><optionvalue="3">3M</option><!-- onde value é o id do fornecedor --><optionvalue="10">Tigre</option></select><!-- supondo que você escolheu Tigre no select de fornecedor... --><selectname="produto"><optionvalue="102">Tubo</option><!-- onde value é o id do produto que sabe a qual fornecedor pertence --><optionvalue="333">Conexão</option></select><inputtype="text"name="valorUnitario"/><inputtype="text"name="quantidade"/>
servlet:
intproduto=Integer.parseInt(request.getParameter("produto"));// o id do produto selecionadodoublevalorUnitario=Double.parseDouble(request.getParameter("valorUnitario"));intquantidade=Integer.parseInt(request.getParameter("quantidade"));NotaFiscalnf=newNotaFiscal();nf.addItem(newItem(produto,valorUnitario,quantidade));// supondo que você esteja utilizando o padrão DAOnewNotaFiscalDAO.inserirNotaFiscal(nf);