Bom dia, tarde ou noite.
Estou com um pipino pra resolver. Estou desenvolvendo junto a meus colegas um software para alugarmos para um comércio da cidade, e ta tudo muito legal fora uma parte que é importante.
Alguns produtos como Prafusos, Ferramentas, etc., não tem sub-item, são vendidos apenas por quantidade, mas por exemplo uma Camisa pode ter tamanhos diferentes(P,M,G,GG).
Assim no banco de dados para os Sub Itens eu tenho as seguintes informações:
| ID
| IDPROD(que indica a que produto o subitem pertence)
| QTDITEM (soma de todos os subitens caso tenha, se não o valor é definido pelo usuário)
| SUB1 (nome do primeiro subitem ex: P)
| QTD1 (quantidade do primeiro sub item ex: 5)
Tem SUB e QTD de 1 a 10, ou seja, cada produto pode ter 10 sub-itens.
Só que estou sem saber como faço para identificar por exemplo se o campo SUB1 e QTD1 já estiverem preenchidos para que o programa salve em SUB2 e QTD2.
“Update tbsubitem set qtditem=?,sub1=?,qtd1=? where idprod=?” << O camando que eu to usando.
Neste caso você deverá fazer um select primeiro para verificar se já tem o registro no banco
tipo
SELECT sub1, from tbsubitem where sub1 = ?
ResultSet rs = stmt.executeQuery();
if (rs.next()) {
//Neste campo será atualizado a quantidade do subitem
[quote="rcarvalhoalencar, post:1, topic:383213"]
“Update tbsubitem set qtditem=?,sub1=?,qtd1=? where idprod=?” << O camando que eu to usando.
[/quote]
}
1 curtida
Se eu fosse você, removeria as colunas SUB e QTD da tabela de Produtos e criaria uma tabela para representar os Tamanhos e outra tabela para representar a Grade de Tamanhos (Produto x Tamanho x Quantidade), até porque em breve o cliente pode querer também uma diferenciação por cores e não somente tamanhos.
Segue o que o @staroski está falando.
Não tem sentido manter estas colunas na tabela produto se eles não se referem a todos os produtos.
1 curtida
Boa Tarde. Na coluna Sub poder ser armazenado (P, Verde, 32, 2L, 3Kg) o programa já dá essa opção.
A tabela que tem as informações dos produtos é outra.
Pra isso eu precisaria verificar os 20 campos. Eu queria algo menor.
Se o sql aceitasse por exemplo (insert sub?,qtd? from tbsubitem where idprod=?) seria bom. Com um for eu resolveria. Mas infelismente não. Tô vendo que vou ter que criar IF pra todos.
Por isso a sugestão de normatizar seu banco de dados e criar uma tabela para a grade de tamanhos e quantidades.
Não faz sentido você ter 20 colunas na tabela sendo que elas nem sempre serão populadas.
Segui seu conselho. Obrigado.