alguem sabe como melhorar esse meu metodo, pois acho q ficou muito redundante esse tanto de “if’s” e “else’s” neste metodo. Sou iniciante e ja ouvi falar de if aninhado, mas nao o consigo fazer utilizando , ex: con_cliente.resultset.getString(“XXXXXXX”);
se alguem puder ajudar:
publicvoidpreenche_campovazio(){try{if(con_cliente.resultset.getString("cli_cpf")!=null)tf_cpf.setText("");else{tf_cpf.setText(con_cliente.resultset.getString("cli_cpf"));//con_cliente.resultset.next();}if(con_cliente.resultset.getString("cli_telefone")!=null)tf_telefone.setText("");else{tf_telefone.setText(con_cliente.resultset.getString("cli_telefone"));}if(con_cliente.resultset.getString("cli_datanascimento")!=null)tf_datanascimento.setText("");else{tf_datanascimento.setText(con_cliente.resultset.getString("cli_datanascimento"));}}catch(SQLExceptionerro){//JOptionPane.showMessageDialog(null,"nao foi possivel preencher campos vazios");}
apenas dei uma organizada neli para ficar mais legivel, acredito que há outras formas também :!:
:D
M
mcastell
É bom tb dar uma revisada em alguns padrões de projeto. Pode ser q algum lhe sirva neste problema. Uma outra forma de fazer isso é essa aki:
publicvoidpreenche_campovazio(){try{tf_cpf.setText((con_cliente.resultset.getString("cli_cpf")!=null)?"":con_cliente.resultset.getString("cli_cpf"));tf_telefone.setText((con_telefone.resultset.getString("cli_telefone")!=null)?"":con_cliente.resultset.getString("cli_telefone"));tf_datanascimento.setText((con_datanascimento.resultset.getString("cli_datanascimento")!=null)?"":con_cliente.resultset.getString("cli_datanascimento"));}catch(SQLExceptionerro){//JOptionPane.showMessageDialog(null,"nao foi possivel preencher campos vazios");}}
L
leandro.augusto
e ai chará … blz?
entao realmente fica mais organizadinho mesmo…achei q precisaria das chaves para os “else”,
cara mas eu vi alguem ou li sobre que tem como colocar tudo dentro de um “if” só, fazendo assim um geral de tudo.
ta funcionado mas se tem como melhorar agente tenta… hehehe
e tipo nao tenho so esses campos ai nao tem mais campos com mascaras aki pra eu tratar… coloquei so estes ai pra eu economizar na postagem… alem de outros formularios com praticamente todos os campos … como cliente, fornecedores, funcionarios, etc… vai aproveitando o metodo e ve no q da… heheheh
valeu parcero!!!
M
mcastell
Podes criar um método para verificar se os campos foram preenchidos ou não. O retorno deste método pode ser boolean e usar um if só para tudo.
L
leandro.augusto
e ai mcastell…
tipo dessa forma tua ai… se caso o campo for vazio ele vai mostrar pra mim vazio?
pq o erro q oecorre no meu projeto é o seguinte, cadastro Joao com cpf X e dai salvo.
cadastro MAria sem cpf.
ao navegar a maria puxa o cpf do joao … Porem nao salva em banco … somente mostra pra mim na tela.
dai dakele jeito la em cima com o tf_cpf.setText(""); ele mostra pra mim em branco pq realmente nao tem nada la no banco.
fiquei sabendo q as mascaras q uso com try/catch no precreation code nao aceitam valores nulos em seus respectivos textfields…
Como seu con_cliente aparentemente é global, daria até para eliminar o primeiro parâmetro, se vc utiliza-lo diretamente dentro da função getString. Só deixei dessa forma pois assim vc poderá reusar para outros resultsets.
Outra alternativa é não salvar null no seu banco de dados. Já salve o dado como vazio.
Marque as colunas como NOT NULL e deixe seu valor padrão para ''.
L
leandro.augusto
galera parece q ambos funcionaram… ficou massa…
uma pergunta so::
usando varios “Ifs” seria uma forma incorreta de fazer esse metodo? ou seja o metodo ficaria “porco”…
igual citei la em cima… ou o desempenho na busca de dados cai… etc… fica mais lento…
gostaria da opniao de voces ai…
V
ViniGodoy
Melhor é usar o que deixa o código mais claro. A performance não muda nada nesse caso.
L
leandro.augusto
galera muito obrigado ai pelas dicas… funcionou tranquilo aqui… espero poder contar mais com vcs para as proximas duvidas e acrescentar mais ao meu conhecimento a respeito de java…
valeu e obrigado!!!