Tag Archives: bd

Conectando a um BD Access com Java

Eu sei que esse não é o foco principal do blog, mas é uma coisa que me pedem muito, então aí vai!

Vamos usar um Banco de Dados Acess 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 bf 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

(Muito Obrigado ao ViniGodoy pela ajuda aqui! =D)

Valeu, até a próximaaa!

Google Buzz