Inserindo Dados em um JComboBox a Partir de Uma tabela Access

2 respostas
W

Ola Pessoal

Criei um JComboBox. Os itens deste JComboBox são retirados de uma tabela criada no Access.
Gostaria que por favor me ajudassem, pois o código que criei acredito não ser o mais indicado.
Sou iniciante. Conto com a experiência de vocês.
Um abraço

//CRIAÇÃO DO COMBO
Combo1 = new JComboBox(CarregaCombo.Estados);
Combo1.setBackground(Color.white);
Combo1.setBounds(x+420, y+220, 80, 20);
//CLASSE QUE INSERE ITENS NO COMBO
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.swing.JOptionPane;

import java.util.ArrayList;
import java.util.Arrays;

public class CarregaCombo {
	
	static ResultSet rs;
	static Statement MeuState ;
	static String Url = "jdbc:odbc:JunqueiraADV";
	static String Estados[];
	static ArrayList list = new ArrayList();
	
	public static void carregaEstado()
	{
		try
		{
			Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
			Connection Conexao = DriverManager.getConnection(Url);
			MeuState = Conexao.createStatement();
			
			String SQL = "SELECT COUNT(*) AS Total FROM Estados"; 
			rs = MeuState.executeQuery(SQL);
			rs.next();
			String A = rs.getString("Total");
			JOptionPane.showMessageDialog(null, A ,"Mensagem",1);
			int i = Integer.parseInt(A);
			
			SQL = "SELECT * FROM Estados";
			rs = MeuState.executeQuery(SQL);
			rs.next();
			
			Estados = new String[i];
			
			for(int x=0;x<27;x++)
			{
				String B = rs.getString("UF");
				Estados[x]= B;
				System.out.println("\n"+Estados[x]);
				rs.next();				
			}  
    
			rs.close();	
					
		}
		
		catch(ClassNotFoundException ex)
		{
			JOptionPane.showMessageDialog(null,"Driver JDBC-ODBC não encontrado ","Mensagem",1);
			System.exit(0);
		}
		
		catch(SQLException ex)
		{
			JOptionPane.showMessageDialog(null, "Erro de SQL","Mensagem",1);
			System.exit(0);
		}
	}	

}

2 Respostas

douglas_vidotto

E ae Wagner tudo bem?? A apostila de java para web da caelum fala sobre algumas coisas sobre conexoes utilizando JDBC antes de falar em web propriamente dito. E nas explicações a apostila fala também melhores formas de separar as classes e sobre alguns design patterns (padrões de projetos para problemas mais comuns). Como um exemplo que te dou, a apostila sugere a criação de uma classe somente para fazer a conexão com o banco de dados, outra classe que somente representa o contato que será inserido no banco, etc. Da uma olhada lá. Dá para tirar várias de suas dúvidas de uma vez só.

Abraços!

W

muito obrigado douglas
abraço!

Criado 31 de janeiro de 2009
Ultima resposta 1 de fev. de 2009
Respostas 2
Participantes 2