Corrigir "gambiarra" de valores 0 no banco de dados

Galera, preciso de uma ajuda nisso aqui. Eu tenho uma tela na qual o usuário salva dados através de jTextFields. Meu problema é o seguinte:

É uma exigencia que o usuário nao tenha a necessidade de preencher todos os jTextFields, podendo entrar no sistema para salvar apenas um ou dois dados específicos e deixar os outros campos em branco. O que eu fiz (inclusive acho que criei um tópico aqui pra pedir ajuda) foi setar todos os jTexFields para “0” e pronto, problema resolvido. certo? Errado…

O que acontece é que agora esse mesmo programa precisa gerar gráficos. Os dados do gráfico saem do banco. E é isso mesmo que voce está pensando: Aquele monte de 0 no meio dos dados corretos destrói o gráfico, já que esses valores 0s nao tem nada a ver com os dados de fato.

Minha pergunta é: Teria como ignorar esses valores 0 na hora de gerar o gráfico? Como? Porque aí nao teria nenhum problema com os 0s.

Ou: Existe outra maneira de salvar os dados permitindo que campos fiquem em branco? É possível fazer isso deixando o campo no banco literalmente sem nada? Sem 0, sem null, sem qualquer coisa similar? Sinto que essa de setar os jTextFields em 0 foi uma “gambiarra”, funciona até certo ponto mas nao é a solucao correta.

Vc pode salvar uma String vazia, mas como é um SELECT, vc pode simplesmente selecionar valores diferentes de 0

SELECT * FROM tabela WHERE coluna_x != 0
1 curtida

Uma dia ainda vou te pagar uma breja como forma de agradecimento, vc sempre salvando minha vida hahaha

É isso mesmo que eu precisava, valeu!!!

Apesar de que assim toda a linha da coluna que tem 0 estaria sendo ignorada, né?! Por exemplo: Se eu buscar por determinado dia onde os dados só foram salvos uma vez e entre os vários parametros apenas um estiver com 0, nao vai me retornar nada, certo? Nao importa que as outras colunas estejam corretas, tendo uma com 0 já nao me retorna nada.

Eu precisaria que apenas o valor 0 fosse ignorado, por isso pensei que o problema era um pouco mais complexo.

Salvando uma String vazia como tu disse acima resolveria o problema? Como isso é feito?

Você pode tratar esses valores no Java então, tipo,

if(coluna_recebida == 0){
   //nao adiciona ela no gráfico
}

Não sei se resolveria, mas como é uma String, ele não leria, então ao invés de salvar com algum dado, é só salvar uma String vazia ""

1 curtida

Mas no caso de uma coluna que ficou com valor null e não 0, não seria a mesma coisa desse dado nunca ter sido inserido nenhuma vez? Seu gráfico ignorar esses dados não dará o mesmo efeito?