CrociDB Tutorials

Java e Access (JDBC)

Vamos usar um Banco de Dados Access com ODBC para conectar com o Java. Tentarei mostrar da forma mais simples possível.

Primeiramente, crie um banco de dados no Access e salve em alguma pasta FIXA do seu projeto (um exemplo, crie uma pasta bd na pasta raiz do seu projeto).

Agora abra o Painel de Controle do Windows, vá em Ferramentas Administrativas -> Fonte de Dados (ODBC). Você pode selecionar a aba Fontes de Dados do Sistema, e então clique em Adicionar. Selecione Driver do Microsoft Access (*.mdb) e clique em Concluir, agora coloque um nome para o Alias do seu banco (esse alias serve para interligar o Java ao Banco), clique em Selecionar e escolha o caminho do banco. Pronto, agora pressione OK e pronto! Vamos então para a melhor parte: Programação! =]

Na sua classe, importe:

import java.sql.*;  

Ela é que contém as classes necessárias para se conectar e manipular o banco.

Agora, dentro da classe, você pode definir uns objetos, um Connection, que manipula a conexão em si, e um Statement, que manipula o banco com querys. Assim:

public Connection con;
public Statement stm;  

Agora, para facilitar, crie um método chamado Connectar:

public void Conectar()
{
    //JOptionPane.showMessageDialog(null, "Preparando para iniciar a conexão com o BD;");

    try
    {
        /* Tenta se conectar ao Driver */
        Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    }
    catch (ClassNotFoundException e)
    {
        JOptionPane.showMessageDialog(null, "Impossível carregar o Driver.");
        System.exit(0);
    }
    try
    {
        /* nomedobanco é o nome que você deu anteriormente ao seu alias */
        con = DriverManager.getConnection("jdbc:odbc:nomedobanco");
        stm = con.createStatement();
    }
    catch (SQLException sqle)
    {
        JOptionPane.showMessageDialog(null, "Problema ao conectar!");
        System.exit(0);
    }
     //JOptionPane.showMessageDialog(null, "Conectado com sucesso!");
}

Você pode descomentar as linhas que mostram uma mensagem antes de se conectar e depois, só para ver como que é! ^^

Crie também uma função para desconectar, e se possível, chame-a antes de sair do seu programa:

public void Desconectar()
{
    try
    {
        con.close();
    }
    catch (SQLException sqle)
    {
        JOptionPane.showMessageDialog(null, "Problema ao desconectar!");
        System.exit(0);
    }
}

Basicamente, agora você já pode se conectar e desconectar ao banco de dados! Excelente não?

Tá, imagino agora que você se perguntou: “Mas como vou manipulá-lo agora?”! Hmm, Boa pergunta!

Para manipular o Banco de Dados em si, como fazer consultas, inserções, remoções, é necessário a utilização de SQL, portanto se você não sabe, é melhor estudar um pouco! hehehe

Então, voltando para o Java…

Lembra-se do objeto Statement que criamos? Então, ele é o ponto chave agora! Para executar uma query, você usa o método execute dele, assim:

stm.execute("INSERT INTO tabela(nome, idade) VALUES('Bruno', 17)"); 

Porém ele NÃO traz retorno algum, ou seja, se você quiser fazer uma consulta, por exemplo, tem que usar o método executeQuery, que retorna um objeto ResultSet, que contém todo o resgistro retornado do banco de dados, a partir da consulta.

try
{
    ResultSet rs = stm.executeQuery("SELECT * FROM tabela");
    while (rs.next())
    {
        JOptionPane.showMessageDialog(null, "Nome: " + rs.getString("nome") + " - Idade: " + rs.getInt("idade"));
    }
}
catch (SQLException e)
{
    JOptionPane.showMessageDialog(null,"" + e.getMessage(),"Erro",0);
}
finally
{
    rs.close();
}

O Objeto ResultSet, tem um método para pegar cada tipo do banco de dados. Dentro dele vai o parâmetro que é o nome do campo a ser pego!

Fácil? Não exatamente! Isso é muito básico, não inútil, mas básico. Portanto, você concerteza vai precisar de mais material, então acesse este magnífico site que você vai achar de tudo lá! =D

[Tutorial tirado do CrociDBlog]