bem ananda_8, se naum tiver o minimo de noção sobre java fica complicado…como disse, leia as apostilas FJ11 e FJ21 da Caelum.
mas vamus la, vou tentar te ajudar. Primeira coisa eh deixar de usar ODBC+Access, usa outro banco e evite ODBC.
//aqui faz a conexao.
public class Conexao{
public static Connection getConnection() throws SQLException{
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
return DriverManager.getConnection("jdbc:odbc:seuarquivo.mdb"); //veja essa linha, vc precisa colocar a extensao do seu arquivo access
} catch (ClassNotFoundException e) {
JOptionPane.showMessageDialog(null, e.getMessage());
throw new SQLException();
}
}
}
//aqui vc faz um Bean da sua classe, eu costumo seguir os padroes da tabela no banco
public class Clientes{
private Long id;
private String nome;
private String sobreNome;
//aqui os gets e os sets
}
//aqui o DAO para fazer transações com o banco Insert, Select, Update, Delete
public class ClientesDAO{
private Connection con;
ClientesDAO(){ //isso eh um construtor, aqui vc chama sua conexao
this.con = Conexao.getConnection();
}
public void insere(Clientes cli){
//metodo que insere informacoes no banco
PreparedStatement stm = this.con.prepareStatement("INSERT INTO clientes (nome, sobreNome) VALUES (?,?)");
stm.setString(1, cli.getNome());
stm.setString(2, cli.getSobreNome());
stm.executeUpdate();
}
public List<Clientes> retornaClientes(){
//metodo q consulta clientes
List<Clientes> lista = new ArrayList();
PreparedStatement stm = this.con.prepareStatement("SELECT * FROM clientes");
ResultSet rs = stm.executeQuery();
while(rs.next()){
Clientes cliente = new Clientes();
cliente.setId(rs.getLong("id"));
cliente.setNome(rs.getString("nome"));
cliente.setSobreNome(rs.getString("sobreNome"));
lista.add(cliente);
}
rs.close();
stm.close();
return lista;
}
}
//aqui eh onde vc insere e consulta, veja.
//inserindo
Clientes cli = new Clientes();
cli.setNome(nome.getText());
cli.setSobreNome(sobreNome.getText());
ClientesDAO cliDAO = new ClientesDAO();
cliDAO.insere(cli); //aqui onde vai inserir
//consultando resultado
ClientesDAO cliDAO = new ClientesDAO();
List<Clientes> cli = cliDAO.retornaClientes();
for(Clientes c : cli){
System.out.println(cli.getId());
System.out.println(cli.getNome());
System.out.println(cli.getSobreNome());
//se tudo estiver certo aqui vai exibir seus clientes
}
//mandando para o Jasper
public void imprimeRelatorioJasper() JRException, SQLException{
String arquivo = "relatorios/RelatorioClientes.jasper";
java.io.InputStream file = getClass().getClassLoader().getResourceAsStream(arquivo);
List<Clientes> lista = new ClientesDAO().retornaClientes();
Map parametros = new HashMap();
parametros.put("id_cliente", codigo1); //aqui vc pode passar o parametro como quiser, desde q esteja definido o nome o jasper no caso "id_cliente".
JRDataSource dados = new JRBeanCollectionDataSource(lista);
JasperPrint printer = JasperFillManager.fillReport(file, parametros, dados);
JRViewer view = new JRViewer(printer);
JDialog dialog = new JDialog();
dialog.getContentPane().add(view);
dialog.setVisible(true);
}
Eh isso…No seu relatorio jasper coloque os nomes das colunas.
Estude sobre Pattern DAO, leia a apostila FJ11 e FJ21, não use ODBC e muito menos Access.
t+ e boa sorte.