Alguém tem um exemplo de Código?

3 respostas
C

Olá.
Alguém tem um exemplo de código para me arrumar?
Preciso fazer uma aplicação JAVA que puxe consultas de um Banco de Dados ACCESS via interface gráfica.
Cordialmente.
Charles

3 Respostas

A

Tenho este trecho! Alguns métodos vão ficar desconhecidos porque fazem parte de outros trechos que para o teu caso são irrelevantes!

Bom proveito! :wink:

E aconselho você a dar uma olhada depois num tutorial de JDBC para tirar mais dúvidas! Aqui no PJ tem! :wink:

Falow

package controle;

import <a href="http://java.io">java.io</a>.<em>;

import java.sql.</em>;

import java.util.<em>;

import java.awt.</em>;

import javax.swing.*;

public class FluxoDados {

private static Hashtable dados;
private static String url = "jdbc:odbc:controle";
private static String usr ="admin";
private static String pwd ="admin";
private static String drv = "sun.jdbc.odbc.JdbcOdbcDriver";        
private static Connection conexao = null;

public static boolean abreConexao(){
    try{
        if(conexao!=null && !conexao.isClosed()){
            return true;
        }
        
        //Abrir a conexao
        Class.forName(drv);
        conexao = DriverManager.getConnection(url, usr, pwd);
        return true;
    }
    catch(ClassNotFoundException ex){
        mensagemErro("Driver não encontrado\n" + ex.getMessage());
        return false;
    }
    catch(SQLException ex){
        mensagemErro(ex.getMessage());
        return false;
    }
}

public static void fechaConexao(){
    try{
        //if(conexao!=null && !conexao.isClosed())
            conexao.close();
    }
    catch(Exception ex){
        mensagemErro("Nao foi possivel fechar a conexao!");            
    }
}
        
public static String lerBanco(){
    if(!abreConexao()) {
        mensagemErro("Conexão não pôde ser aberta!");
        return "";
    }
    try{
    conexao.setAutoCommit(false); // abre a transação
    
    
    String sql = "SELECT * FROM alunos"; //LE ALUNOS
    Statement stmt = conexao.createStatement();
    ResultSet rs = stmt.executeQuery(sql);
    
        while (rs.next()){
            Aluno a = new Aluno(rs.getString("nome"));
            a.setNascimento(rs.getString("nascimento"));
            a.setPais(rs.getString("pais"));
            a.setTelefone(rs.getString("telefone"));
            a.setEndereco(rs.getString("endereco"));
            a.setDiaHoraAula(rs.getString("diahoraaula"));
            a.setPagamentoPendente(rs.getString("pagamentopendente"));
            a.setAulasPendentes(rs.getString("aulaspendentes"));
            a.setCaderno(rs.getString("caderno"));
            a.setProximaAula(rs.getString("proximaaula"));
            addAluno(a);
        }
        stmt.close();          
                    
        conexao.commit(); // fecha a transação
        conexao.setAutoCommit(true);
        stmt.close();
        fechaConexao();
        FluxoDados.setAlterado(false);
        return "Dados do Banco de Dados";
    }
    catch(SQLException ex){
        try{
            mensagemErro("Erro no processo: \n"+ex.getMessage());
            conexao.rollback();
            return "";
        }
        catch(SQLException ex2){
            mensagemErro("Impossivel ler os dados do banco!\n"+ex2.getMessage()+"\n"+ex.getMessage());
            return "";
        }
    }
}


public static void salvarBanco(){
    if(!abreConexao()) {
        mensagemErro("Conexão não pôde ser aberta!");
        return;
    }
    try{
    conexao.setAutoCommit(false); // abre a transação
    
    String sql = "INSERT INTO alunos VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?)"; //GRAVA ALUNOS
    PreparedStatement stmt = conexao.prepareStatement(sql);
    
    Enumeration alunos = getAlunos().elements();
        
        while (alunos.hasMoreElements()){
            Aluno a = (Aluno) alunos.nextElement();
            
            stmt.setString(1,a.getNome());
            stmt.setString(2,a.getNascimento());
            stmt.setString(3,a.getPais());
            stmt.setString(4,a.getTelefone());
            stmt.setString(5,a.getEndereco());
            stmt.setString(6,a.getDiaHoraAula());
            stmt.setString(7,a.getPagamentoPendente());
            stmt.setString(8,a.getAulasPendentes());
            stmt.setString(9,a.getCaderno());
            stmt.setString(10,a.getProximaAula());
            
            stmt.executeUpdate();
        }
        stmt.close();
        
        conexao.commit(); // fecha a transação
        conexao.setAutoCommit(true);
        stmt.close();
        fechaConexao();
        FluxoDados.setAlterado(false);
        JOptionPane.showMessageDialog(null,"Dados salvos no Banco de Dados com sucesso!!","Sistema",JOptionPane.INFORMATION_MESSAGE);
    }
    catch(SQLException ex){
        try{
            mensagemErro("Erro no processo: \n"+ex.getMessage());
            conexao.rollback();
        }
        catch(Exception ex2){
        mensagemErro("Impossivel salvar os dados no banco!\n"+ex2.getMessage()+"\n"+ex.getMessage());
        }
    }
}

}

C

Obrigado Daniel, vou tentar testar e depois posto se deu certo.
Abraço.
Charles

A

Isso aí Chale!

Qualquer dificuldade posta aí!

E não se esquece de dar uma olhadinha num tutorial de JDBC! Há vários extremamente didáticos!

Falow :wink:

Criado 11 de maio de 2005
Ultima resposta 11 de mai. de 2005
Respostas 3
Participantes 2