Imprimir em JTable sem mostras os campos NULL

8 respostas
L

Fala Galera !
Meu primeiro tópico aqui, até agora o fórum vem me ajudando bastante.
Gostaria de uma ajuda, estou fazendo um programa em Java que utiliza um banco de dados Mysql.
Ainda estou estruturando o banco, porém encontrei um pequeno detalhe, ao fazer uma tabela de clientes (tendo em vista que o programa tratará PJ e PF) incluí nessa tabela os campos CNPJ,Inscrição Estadual,Rg e CPF.
O problema é que quando um cliente for pf não utilizará o CNPJ, deixando-o como NULL.
Como faço para quando eu for inseri-los em uma JTable, eu consiga omitir esse campo, sem precisar utilizar um IS NOT NULL em cada campo, pois são varias tabelas com situações parecidas.

É mais facil fazer isso no sql, ou tento algum tipo de formatação pelo Java ?

Vlw !

8 Respostas

Dani_Gomes

Caro LucasCic.
Acredito que neste seu caso em especifico, o ideal será você deixar os dois campos podendo ser nulo, pois quando você for fazer o cadastro do seu cliente você preencherá apenas um dos campos. Sendo que não poderá utilizar estes campos como chave primária.

L

Sim os dois podem ser nulos, mas como imprimo apenas os dados “Não Nulos” sem precisar fazer uma condição para cada.
No caso iria utilizar os dados do cliente para imprimir um relatório no JasperReports, então gostaria de um meio de selecionar apenas os dados preenchidos do cliente para constar no relatório…

Dani_Gomes

LucasCic.
Não sou muito avançado em banco, mas neste caso eu tentaria utilizar um SELECT com alguma condição negativa.
Dá uma olhada neste link:
http://www.arquivodecodigos.net/dicas/mysql-como-usar-os-operadores-is-null-e-is-not-null-para-verificar-campos-com-valores-null-em-suas-tabelas-mysql-3300.html

ViniGodoy

É melhor usar o IS NOT NULL mesmo.

Deixe no Java apenas se você quiser criar um filtro, que o cara liga/desliga em tempo de execução.
Tal como um auto-filtro do Excel.

L

Vlw ViniGodoy;
Mas completando, existiria um meio de testar o campo antes de imprimi-lo, ou preciso colocar um IS NOT NULL em cada campo.

Tipo, não daria para testar todos os campos a serem impressos e só imprimir se ele não for nulo ?

Obrigado pela Ajuda !

ViniGodoy

Você poderia testar antes de inserir os dados no TableModel, mas é bem menos eficiente. Deixe essa tarefa com o banco, pois é um software especializado para isso.

Y

Sendo que não poderá utilizar estes campos como chave primária.

L

Ok !

Obrigado pela ajuda !

Problema resolvido…

Criado 24 de junho de 2012
Ultima resposta 26 de jun. de 2012
Respostas 8
Participantes 4