Consulta uma tela em java [RESOLVIDO]

ainda nao deu certo, deu erro!

Que erro?

Já tentou fazer de outro jeito?

Talvez o problema é no banco(tabela) e não no código…

Cara tenta separar o pouco o código que fica mais fácil, não é fácil trabalhar com Java com uma arquitetura cliente servidor.
Tenta organizar um pouco mais o código. É simples é só aplicar alguns padrões de projetos como o MVC que já resolveria metade de teus problemas.
Organiza as classes em pacotes que têm algo em comum, e divide por camadas, algo do tipo: cria uma camada de visão(View) para fazer a interface homem máquina com o usuários, cria alguns controladores que irão servir de cérebro para tua aplicação e faz com tua visão conheça apenas eles. Depois cria alguns pacotes que conterão a lógica da tua aplicação e acesso aos dados do banco de dados. entre outras coisas…
Dessa forma ficará bem mais fácil trabalhar.

a primeira parte deu certo que a consulta do tombo na tabela postgres e imprime nos campos jtextfield.
aqui esta o código:
{

[code]con_impressoras.executeSQL("select * from cad_estoque where tombo = "+ tf_pesquisa.getText());
System.out.println(tf_pesquisa.getText());

    preencher_jtable();

    tf_codigo.setText("");
    tf_nome.setSelectedItem("");
    tf_nome.requestFocus();
    tf_data.setDate(new Date());
    tf_tombo.setText("");
    tf_origem.setSelectedItem("");
    tf_destino.setSelectedItem("");
    tf_situacao.setText("");
    tf_codigo.setEditable(false);

mostrar_dados();
//preencher_jtable();

}

}
[/code]
o que eu fiz foi fazer uma pesquisa no banco passando como referência meu campo tf_pesquisa…
só que agora eu queria que quando o usuario apertasse o botão para procurar o tombamento e ele esqueceu de cologar a numeração no campo,
que aparece uma mensagem para ele para lembrando que tem obrigatoriamente digitar a numeração…
fiz ate um equals, mão não esta dando certo, pois em vez de aparecer a tela informando a numeração do tombo, aparece um exception do sql!

outro código adicionado o metodo equals!:

[code]if( jB_pesquisar.getText().equals("")|| tf_pesquisa.getText().equals(""))

 JOptionPane.showMessageDialog(null,"Digite um Tombo da impressora para pesquisa");

{

con_impressoras.executeSQL("select * from cad_estoque where tombo = "+ tf_pesquisa.getText());
System.out.println(tf_pesquisa.getText());

    preencher_jtable();

    tf_codigo.setText("");
    tf_nome.setSelectedItem("");
    tf_nome.requestFocus();
    tf_data.setDate(new Date());
    tf_tombo.setText("");
    tf_origem.setSelectedItem("");
    tf_destino.setSelectedItem("");
    tf_situacao.setText("");
    tf_codigo.setEditable(false);

mostrar_dados();
//preencher_jtable();

}

}

[/code]

Kerbage,desculpe mas não entendi bem.
O 1º cod deu certo e o 2º não?Seu problema é com o campo que não deve ser nulo nem vazio?
Tente explicar melhor,por favor…

Oi Anime blz, como sempre dando um help pra gente que está aprendendo agora,! bem isso mesmo que vc falou o primeiro código deu certo, isso mesmo quando os campos não podem ser nem nulos e num vazios.

não sei pq o metodo equals não funcionou!

Olha vou deixar mais um exemplo,tenta resolver,é tão bom quando a gente consegue “sozinho”,seguindo um exemplo…


import javax.swing.*;
class P59
{
	public static void main(String args[])
	{
	 String s;
	 int i;
	 try
	 {
	  s=JOptionPane.showInputDialog(null,"Digite um numero inteiro","Numero Inteiro",JOptionPane.INFORMATION_MESSAGE);
	  if(s==null)
	  JOptionPane.showMessageDialog(null,"Você cancelou ou fechou","Mesagem",JOptionPane.PLAIN_MESSAGE);
	  else if(s.equals(""))
	  JOptionPane.showMessageDialog(null,"Você não digitou nada","Mensagem",JOptionPane.PLAIN_MESSAGE);
	  else
	 {
	 	i=Integer.parseInt(s);
	 	JOptionPane.showMessageDialog(null,"O numero digitado foi "+i,"Mensagem",JOptionPane.PLAIN_MESSAGE);
	 }
}//fim do try
catch(NumberFormatException e)
{
	JOptionPane.showMessageDialog(null,"Valor invalido ","Erro",JOptionPane.ERROR_MESSAGE);
}
}
}

Oi!
aqui esta aqui o codigo que fiz!

[code]if("".trim().equalsIgnoreCase(tf_pesquisa.getText()) || tf_pesquisa == null || tf_pesquisa.getText().equalsIgnoreCase("")){

// JOptionPane.showMessageDialog(null,"Digite um Tombo da impressora para pesquisa");
}

else
{

 try {
    con_impressoras.executeSQL("select * from cad_estoque where tombo = "+  tf_pesquisa.getText());
    preencher_jtable();

    tf_codigo.setText("");
    tf_nome.setSelectedItem("");
    tf_nome.requestFocus();
    tf_data.setDate(new Date());
    tf_tombo.setText("");
    tf_origem.setSelectedItem("");
    tf_destino.setSelectedItem("");
    tf_situacao.setText("");
    tf_codigo.setEditable(false);

mostrar_dados();
} catch (Exception sqlex) {

     JOptionPane.showMessageDialog(null,"Digite um Tombo da impressora para pesquisa");


 }

System.out.println("texto = " + tf_pesquisa.getText()); // imprime na tela como para ver como esta a conexao

//preencher_jtable();

}[/code]

mais nada acontece!

resolvido anime!

[code] try {

by torcapio
if ( tf_pesquisa.getText().startsWith(" ")){

    JOptionPane.showMessageDialog(null,"Digite um Tombo da impressora!");
    }
  else
{
    con_impressoras.executeSQL("select * from cad_estoque where tombo = "+  tf_pesquisa.getText());
    preencher_jtable();

    tf_codigo.setText("");
    tf_nome.setSelectedItem("");
    tf_nome.requestFocus();
    tf_data.setDate(new Date());
    tf_tombo.setText("");
    tf_origem.setSelectedItem("");
    tf_destino.setSelectedItem("");
    tf_situacao.setText("");
    tf_codigo.setEditable(false);

mostrar_dados();

  }


} catch (Exception sqlex ) {

    JOptionPane.showMessageDialog(null,"Erro!!"+sqlex);

    


}

[/code]
pela sua explicação teu para notar que não estava utiillizando corretamento try catch e peguei o metodo starwith em vez do equals ou trim.

Que bom,fiquei feliz. :stuck_out_tongue:
Coloque resolvido…

abs…

vlz! obrigado pela ajuda