Jcombobox

[b]Pessoal, por favor preciso da ajuda de vcs, porque estou enfrentando dificuldades para mostrar numa JCOMBOBOX dados de um campo de uma tabela da base de dados.Se alguem puder me ajudar e ate indicar um tutorial eu aceito.

:wink: [/b]

Oi

LYZ, vc poderia ser mais especifica? Tipo, seu problema é com o acesso ao DB pra fazer isso ou pra tirar os dados do ResultSet e colocar no Combo? Ou é tudo?

T+

Oi,Jeveaux!! Bom eu ja consegui mostrar os dados de umcampoda tabela na combo.O problema agora é gravar estes dados recuperados.Outra duvida que tenho é como testar a conexão depois de ter uma classe só para conectar.Se vc puder me dar um help eu agradeço muito :grin: .Bom vou enviar o codigo para vc dar uma olhada:

import javax.swing.;
import java.awt.
;
import java.awt.event.;
import java.io.
;
import java.util.;
import java.sql.
;
public class TesteCombo extends JFrame{
JPanel p1,p2,p3,p4,p5,p6,p7;
JLabel tipoMaterial,codigoMaterial,predioMaterial,
locomoveMaterial,statusMaterial, obsStatusMaterial;
JComboBox insereTipoMaterial, inserePredioMaterial,insereStatusMaterial;
JTextField insereCodigoMaterial;
JButton bNovo,bGravar,bCancelar,bProcurar,bAlterar,bExcluir, bSair;
JRadioButton locomoveMaterialSim,locomoveMaterialNao;
ButtonGroup radioGroupLocomove;
JTextArea insereObsStatusMaterial;
Connection conect;
Statement stmt;
ResultSet rs;
public static void main(String args[])
{
TesteCombo TC = new TesteCombo();
TC.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //permite que a janela seja //fechada
TC.setVisible(true); //torna a janela visivel
}

TesteCombo(){

     super("Testando Combo");
 	Container containerTC = getContentPane();
 	containerTC.setLayout(new GridLayout(8,0));

    //p1
 	bNovo = new JButton(" Novo ");
 	bGravar = new JButton(" Gravar "); 
 	bCancelar = new JButton(" Cancelar ");
 	bProcurar = new JButton(" Procurar ");
 	bAlterar = new JButton(" Alterar ");
 	bExcluir = new JButton(" Excluir ");
 	bSair = new JButton(" Sair ");
 	p1=new JPanel();//contem os botoes
 
    p1.add(bNovo);
p1.add(bGravar);
p1.add(bCancelar);
p1.add(bProcurar); //linha 50
p1.add(bAlterar);
p1.add(bExcluir);
p1.add(bSair);
p1.setLayout(new FlowLayout(FlowLayout.CENTER));
containerTC.add(p1);

     //p2
    tipoMaterial = new JLabel("Tipo de Material");
insereTipoMaterial = new JComboBox();
    p2 = new JPanel();
p2.add(tipoMaterial);
p2.add(insereTipoMaterial);
p2.setLayout(new FlowLayout(FlowLayout.LEFT));
containerTC.add(p2);//contem o Tipo de Material

    //p3
codigoMaterial = new JLabel("Codigo");
insereCodigoMaterial = new JTextField(7);
p3 = new JPanel();
p3.add(codigoMaterial);
p3.add(insereCodigoMaterial);
p3.setLayout(new FlowLayout(FlowLayout.LEFT));
containerTC.add(p3);//contem o Codigo do Material

    //containerCM.addSeparator();

//p4 predio onde se ocaliza o material
predioMaterial = new JLabel("Predio");
inserePredioMaterial = new JComboBox();
p4 = new JPanel();
p4.add(predioMaterial);
p4.add(inserePredioMaterial);
p4.setLayout(new FlowLayout(FlowLayout.LEFT));
containerTC.add(p4);

    //p5 locomocao do material
locomoveMaterial = new JLabel("Material Locomovível: ");
locomoveMaterialSim = new JRadioButton("Sim",true);
locomoveMaterialNao = new JRadioButton("Nao",false);
radioGroupLocomove = new ButtonGroup();
radioGroupLocomove.add(locomoveMaterialSim);
radioGroupLocomove.add(locomoveMaterialNao);
p5 = new JPanel();
p5.add(locomoveMaterial);
p5.add(locomoveMaterialSim);
p5.add(locomoveMaterialNao);
p5.setLayout(new FlowLayout(FlowLayout.LEFT));
containerTC.add(p5);//contem o predio onde se localiza o material  //linha 100


    //p6 p7 e p8 status do material

statusMaterial = new JLabel("Status");
insereStatusMaterial = new JComboBox();
p6= new JPanel();
p6.add(statusMaterial);
p6.add(insereStatusMaterial);
    p6.setLayout(new FlowLayout(FlowLayout.LEFT));
containerTC.add(p6);


obsStatusMaterial=new JLabel("Observação:");
insereObsStatusMaterial= new JTextArea(10,25);
p7=new JPanel();
p7.add(obsStatusMaterial);
p7.add(insereObsStatusMaterial);
p7.setLayout(new FlowLayout(FlowLayout.LEFT));
containerTC.add(p7);

    setSize(810,610);
    setLocation(200,200);
     try
     {

      Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
      conect=DriverManager.getConnection("jdbc:microsoft:sqlserver://192.168.0.100;DatabaseName=SIREM","sa","");
      stmt = conect.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);
      
      
      try
      { 
      String SQL = "select DescTipoMaterial from TipoMaterial";
      ResultSet rs = stmt.executeQuery(SQL); 
      Vector valores = new Vector(); 
         
        // pegando os valores do db 
       while(rs.next())
       {
       valores.addElement(rs.getString("DescTipoMaterial"));
       }
    //adicionando os valores no JComboBox
     for(int i = 0; i<valores.size();i++)
     {
       insereTipoMaterial.addItem(valores.get(i));
     }

      }
      
      catch(SQLException ex) //linha 280
      {}
      //atualizaCampos();
      //linha 116 

      
      try
      { 
      String SQL = "select DescPredio from Predio";
      ResultSet rs = stmt.executeQuery(SQL); 
      Vector dados = new Vector(); 
         
        // pegando os valores do db 
       while(rs.next())
       {
       dados.addElement(rs.getString("DescPredio"));
       }
    //adicionando os valores no JComboBox
     for(int i = 0; i<dados.size();i++)
     {
       inserePredioMaterial.addItem(dados.get(i));
     }

      }
      
      catch(SQLException ex) //linha 280
      {}
     
   }//fecha o maior try
     catch(ClassNotFoundException ex)
     {
        System.out.println("Driver JDBC não encontrado");
     }
     catch(SQLException ex)
     {
        System.out.println("Problemas na conexão com a fonte de dados");    
     }      
   
    
  }//fecha construtor

public void actionPerformed(ActionEvent e)
{

       if(e.getSource()==bNovo)
      {
       limpaCampos();
       return; 
      }
     //-----------Inicio da gravação-----------
     
      
      
      if(e.getSource()==bGravar)
      {

       
      
        try
        {
        String SQL="INSERT INTO Material(NomeMaterial) Values('" +
        insereCodigoMaterial.getText()+"')";
        stmt.executeUpdate(SQL);
        JOptionPane.showMessageDialog(null,"Gravação Realizada com Sucesso");
        limpaCampos();
        }
       catch(SQLException ex)
       {
         if(ex.getMessage().equals("General Error" ))
         
             JOptionPane.showMessageDialog(null,"Dado Inválido");
         else
             JOptionPane.showMessageDialog(null, "Material já cadastrado"); 
         
      }
     
    }
  //---------Fim da Gravação------------
 
  
  //----------Inicio da Alteração-------
   if(e.getSource()==bAlterar)
     {
     	try
     	{
     		String SQL = "UPDATE Material SET " + 
     		"NomeMaterial = '" + insereCodigoMaterial.getText() + "'," +
                    "WHERE NomeMaterial = '" +insereCodigoMaterial.getText() + "'";
     		 int r=stmt.executeUpdate(SQL);
     		 if(r==1)
     		   JOptionPane.showMessageDialog(null, "Alteração realizada com sucesso" );
     		 else
     		   JOptionPane.showMessageDialog(null, "O material ainda não está cadastrado\n Pressione                                                                 GRAVAR");
     	}
     	catch(SQLException ex)
     	{}
     
  }   

//----------Fim da Alteração----------


//----------Início da Exclusão--------
     
      if(e.getSource()==bExcluir) //linha 200
      {
      	try
      	{
      		String SQL = "SELECT NomeMaterial FROM Material WHERE NomeMaterial='"
      		+ insereCodigoMaterial.getText() + " ' ";
      		rs=stmt.executeQuery(SQL);
      		String del = "";
      		try
      		{
      			rs.next();
                            del="Apagar o  Material: " + rs.getString("NomeMaterial");
      		}
      		catch(SQLException ex1)
                    {
            	    JOptionPane.showMessageDialog(null,"Material não cadastrado");
            	    return;
                    }
            
                    int n = JOptionPane.showConfirmDialog(null, del, "",JOptionPane.YES_NO_OPTION);
                    if (n == JOptionPane.YES_OPTION)
                    {
            	  SQL="DELETE FROM Material WHERE NomeMaterial='"
            	  +insereCodigoMaterial.getText() + "'";
            	  int r = stmt.executeUpdate(SQL);
            	  if(r==1)
            	    JOptionPane.showMessageDialog(null,"Exclusão realizada com sucesso");
            	  else
            	    JOptionPane.showMessageDialog(null,"Não foi possível excluir");
                     }
                     else
                        return;
                   }
        
     	  catch(SQLException ex)
     	  {}
     	  limpaCampos();

      
  }

  //----------Fim da Exclusão----------- //linha 240  

 
} //fecha o action performed


 
  public void limpaCampos()
  {
     insereCodigoMaterial.setText("");
     
  }    

}