Java e Banco de Dados

7 respostas
programaçãojavamysql
rcarvalhoalencar

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.

7 Respostas

Kassioburgadon

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
<blockquote><div class="quote-author">"rcarvalhoalencar:</div>
“Update tbsubitem set qtditem=?,sub1=?,qtd1=? where idprod=?” &lt;&lt; O camando que eu to usando.
</blockquote>

            }
staroski

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.

darlan_machado

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.

rcarvalhoalencar

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.

rcarvalhoalencar

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.

staroski

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.

rcarvalhoalencar

Segui seu conselho. Obrigado.

Criado 14 de março de 2019
Ultima resposta 16 de mar. de 2019
Respostas 7
Participantes 4