Oi Daniel;
Este a classe de conexão com o BD.
package utilitarios;
import java.sql.;
import javax.swing.;
public class Conexao
{
final private String driver = “sun.jdbc.odbc.JdbcOdbcDriver”;
final private String DBQ = “DataBase\LA_Weather_Data.accdb”;
final private String url = “jdbc:odbc:Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=”+DBQ;
final private String usuario = “”;
final private String senha = “”;
public Connection conexao;
public Statement statement;
public ResultSet resultset;
public boolean conecta()
{
boolean result = true;
try
{
Class.forName(driver);
conexao = DriverManager.getConnection(url, usuario, senha);
} catch(ClassNotFoundException Driver)
{
JOptionPane.showMessageDialog(null,"Driver não localizado: "+Driver);
result = false;
} catch (SQLException Fonte)
{
JOptionPane.showMessageDialog(null,"Deu erro na conexão com a fonte de dados: "+ Fonte);
result = false;
}
return result;
}
public void desconecta()
{
boolean result = true;
try
{
conexao.close();
// JOptionPane.showMessageDialog(null,“Banco fechado.”);
} catch (SQLException erroSQL)
{
JOptionPane.showMessageDialog(null, "Não foi possível fechar o banco de dados: "+erroSQL.getMessage());
result = false;
}
}
public void executeSQL(String sql)
{
try
{
statement = conexao.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
resultset = statement.executeQuery(sql);
} catch(SQLException sqlex)
{
JOptionPane.showMessageDialog(null, "Não foi possível " +
"executar o comando sql.\n" + sqlex+"\n o sql passado foi\n"+sql);
}
}
}
Este é o formulario:
package Telas;
import java.sql.SQLException;
import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;
import utilitarios.*;
public class Filtros extends javax.swing.JFrame {
Conexao rs;
public Filtros() {
initComponents();
setLocationRelativeTo(null);
rs = new Conexao();
rs.conecta();
montaListaCountry();
}
private void montaListaCountry()
{
DefaultTableModel modelo = (DefaultTableModel) ListaCountry.getModel();
modelo.setNumRows(0);
try
{
rs.executeSQL("SELECT Distinct Country FROM LA_Weather_Data_Mun ORDER BY Country");
while (rs.resultset.next())
modelo.addRow(new Object[] {rs.resultset.getString("Country")});
} catch(SQLException e)
{
JOptionPane.showMessageDialog(null, "Error in update of country's list.\nErro ["+e+"]");
}
}
private void montaListaSubCountry()
{
DefaultTableModel modelo = (DefaultTableModel) ListaSubCountry.getModel();
modelo.setNumRows(0);
try
{
rs.executeSQL("SELECT Distinct Sub_Country FROM LA_Weather_Data_Mun " +
"WHERE Country='" + ListaCountry.getValueAt(ListaCountry.getSelectedRow(), 0) + "' "+
"ORDER BY Sub_Country");
while (rs.resultset.next())
modelo.addRow(new Object[] {rs.resultset.getString("Sub_Country")});
} catch(SQLException e)
{
JOptionPane.showMessageDialog(null, "Error in update of sub country's list.\nErro ["+e+"]");
}
}
private void montaListaSubSubCountry()
{
DefaultTableModel modelo = (DefaultTableModel) ListaSubSubCountry.getModel();
modelo.setNumRows(0);
try
{
rs.executeSQL("SELECT Distinct Sub_Sub_Country FROM LA_Weather_Data_Mun " +
"WHERE Country='" + ListaCountry.getValueAt(ListaCountry.getSelectedRow(), 0) + "' and "+
"Sub_Country='"+ListaSubCountry.getValueAt(ListaSubCountry.getSelectedRow(),0) + "' " +
"ORDER BY Sub_Sub_Country");
while (rs.resultset.next())
modelo.addRow(new Object[] {rs.resultset.getString("Sub_Sub_Country")});
} catch(SQLException e)
{
JOptionPane.showMessageDialog(null, "Error in update of sub country's list.\nErro ["+e+"]");
}
}
@SuppressWarnings("unchecked")
private void ListaCountryMouseClicked(java.awt.event.MouseEvent evt) {
montaListaSubCountry();
}
private void ListaSubCountryMouseClicked(java.awt.event.MouseEvent evt) {
montaListaSubSubCountry();
}
private void formWindowClosed(java.awt.event.WindowEvent evt) {
rs.desconecta();
}
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new Filtros().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JButton BtnAddCountry;
private javax.swing.JButton BtnAddSubCountry;
private javax.swing.JButton BtnAddSubSubCountry;
private javax.swing.JButton BtnRemoveCountry;
private javax.swing.JButton BtnRemoveSubCountry;
private javax.swing.JButton BtnRemoveSubSubCountry;
private javax.swing.JTable ListaCountry;
private javax.swing.JTable ListaCountryResult;
private javax.swing.JTable ListaSubCountry;
private javax.swing.JTable ListaSubCountryResult;
private javax.swing.JTable ListaSubSubCountry;
private javax.swing.JTable ListaSubSubCountryResult;
private javax.swing.JLabel jLabel1;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JScrollPane jScrollPane2;
private javax.swing.JScrollPane jScrollPane3;
private javax.swing.JScrollPane jScrollPane4;
private javax.swing.JScrollPane jScrollPane5;
private javax.swing.JScrollPane jScrollPane6;
// End of variables declaration
}