A necessidade de publicar este artigo surgiu levando em consideração que o aprendizado de como fazer um projeto em Java com Access se torna difícil, pois não há uma fonte com um exemplo completo. Prova disso é que se procurarmos pela internet, não encontraremos nada completo, o que achamos são pedaços de códigos espalhados que mais confundem do que explicam e perguntas não respondidas em fóruns e por fim temos que nos virar sozinhos. Sendo assim, temos aqui um artigo completo para facilitar a vida dos interessados neste aprendizado.

O artigo está organizado em três partes: a primeira mostra a criação do banco e da tabela no Access, a segunda mostra a conexão e a terceira mostra o passo a passo do de um projeto prático. Ao final é disponibilizado o projeto para download.

1. Criando um Banco de Dados No Access

Abra o Microsoft Access 2007 e Clique em Arquivo -> Novo, conforme mostra a Figura 1:

Criar um novo banco de dados

Figura 1: Criar um novo banco de dados

Após isto, no canto superior direito aparecerá o campo para ser criado, conforme a Figura 2:

Criando o novo banco de dados

Figura 2: Criando o novo banco de dados

Coloque o nome do Banco como Curso.accbd e clique na pasta ao lado, conforme destaca a Figura 2. Após isto será aberta uma tela como a da Figura 3:

Selecionando o Local de criação do novo banco de dados

Figura 3: Selecionando o Local de criação do novo banco de dados

Acesse o Disco C:\, crie uma pasta chamada AccessBD e salve o nosso projeto lá como Curso.accbd. Veja na Figura 4:

Salvando o Novo banco de dados

Figura 4: Salvando o Novo banco de dados

Após isto, clique em OK.

Agora voltamos para a nossa tela principal do Access, como mostrado na Figura 5:

Passo final para Criar o novo banco de dados

Figura 5: Passo final para Criar o novo banco de dados

Agora é só clicar em Criar e o nosso banco já estará criado, então é só criar a tabela que será usada no projeto e adicionar os registros.

Criando a tabela

Clique na Aba Criar -> design da Consulta, conforme a Figura 6:

Criação da Tabela – Passo 1

Figura 6: Criação da Tabela – Passo 1

Será mostrada uma tela conforme a Figura 7:

Criação da Tabela – Passo 2

Figura 7: Criação da Tabela – Passo 2

Clique em fechar, como destaca a Figura 7.

Após isto será mostrada uma tela conforme a Figura 8:

Criação da Tabela – Passo 3

Figura 8: Criação da Tabela – Passo 3

Clique em Modo de exibição SQL, conforme destaca a Figura 8.

A tela será mostrada conforme a Figura 9:

Criação da Tabela – Passo 4

Figura 9: Criação da Tabela – Passo 4

Digite o texto da Figura 9 e depois clique em executar, conforme destaca a mesma.

Pronto, a nossa tabela já esta criada e ela aparecerá do lado esquerdo, conforme mostra a Figura 10:

Criação da Tabela – Passo 5

Figura 10: Criação da Tabela – Passo 5

Adicionando registros a tabela

Clique na Aba Criar -> Consulta, conforme a Figura 11:

Adicionando Registros a Tabela – Passo 1

Figura 11: Adicionando Registros a Tabela – Passo 1

Será mostrada uma tela conforme a Figura 12:

Adicionando Registros a Tabela – Passo 2

Figura 12: Adicionando Registros a Tabela – Passo 2

Clique em fechar, conforme destaca a Figura 12.

Após isto, será mostrada uma tela como a da Figura 13:

Adicionando Registros a Tabela – Passo 3

Figura 13: Adicionando Registros a Tabela – Passo 3

Clique em Modo de exibição SQL, como destaca a Figura 13.

A tela de execução de instruções SQL será apresentada, como se vê na figura a seguir.

Adicionando Registros a Tabela – Passo 4

Figura 14: Adicionando Registros a Tabela – Passo 4

Digite o texto da Figura 14 e depois clique em executar, de acordo com a ilustração da mesma.

Agora é só dar dois cliques sobre a tabela, conforme mostra a Figura 15:

Adicionando Registros a Tabela – Passo 5

Figura 15: Adicionando Registros a Tabela – Passo 5

Será mostrada a tela ilustrada na Figura 16:

Adicionando Registros a Tabela – Passo 6

Figura 16: Adicionando Registros a Tabela – Passo 6

Agora o nosso primeiro registro foi inserido, para inserir outros é só seguir os passos anteriores.

2. Conectando o Java ao Access

Clique em Painel de Controle -> Ferramentas Administrativas -> Fontes de dados (ODBC). Será aberta uma janela como a da Figura 17:

Administrador de Fonte de dados(ODBC)

Figura 17: Administrador de Fonte de dados(ODBC)

Clique em MS Access Database e depois em adicionar. Será aberta uma janela como a que é mostrada na Figura 18:

Criar uma nova fonte de dados

Figura 18: Criar uma nova fonte de dados

Após clicar em Concluir será aberta uma janela conforme a Figura 19:

Configurar ODBC para Microsoft Access

Figura 19: Configurar ODBC para Microsoft Access

Como o nosso banco já está criado, então é só Clicar em Selecionar e então a tela mostrada na Figura 20 será aberta.

Selecionar banco de dados

Figura 20: Selecionar banco de dados

Agora é só selecionar a Unidade, que no nosso caso é o disco C, a pasta que aqui é a pasta ACCESSBD e o nome do banco de dados, que no nosso caso é o Curso.accbd. Agora clique em OK. A tela mostrada na Figura 21 será aberta.

Configurar ODBC para Microsoft Access

Figura 21: Configurar ODBC para Microsoft Access

Agora coloque Curso nos campos Nome da Fonte de Dados e Descrição.

Veja que em Banco de dados agora aparece o banco que nós selecionamos, então é só clicar em OK.

Ao clicar em Ok será mostrada a tela conforme a Figura 22:

Administrador de fonte de dados ODBC

Figura 22: Administrador de fonte de dados ODBC

Veja que voltamos na nossa primeira tela e que agora temos o banco Curso em Fonte de dados de usuário.

Pronto, a nossa conexão já está estabelecida, agora é só criar um projeto contendo o seguinte método, conforme a Figura 23.

Método de Conexão Java x Access

Figura 23: Método de Conexão Java x Access

Veja que na Figura 23 temos uma setinha que destaca Curso, esse Curso que colocamos ali é o mesmo que colocamos na Figura 21 no campo nome da fonte de dados.

Agora iremos criar um projeto utilizando o que já foi explicado para fixação do aprendizado, lembrando que ao final disponibilizo o projeto para download.

2. Criação do Projeto Prático

No NetBeans vamos em Arquivo -> Novo Projeto e crie um novo Projeto.

Defina o nome do projeto no NetBeans como Access e salve-o na mesma pasta onde está o banco de dados, conforme as Figuras 24 e 25.

Criando o Projeto Prático – Passo 1

Figura 24: Criando o Projeto Prático – Passo 1

Criando o Projeto Prático – Passo 2

Figura 25: Criando o Projeto Prático – Passo 2

Agora é só clicar em finalizar, como mostra a Figura 25 e pronto, nosso projeto já está criado.

Criando a classe Main

Vá em Pacotes do código Fonte e clique com o botão direito em Novo -> Classe Java, conforme a Figura 26.

Criando a classe Main – Passo 1

Figura 26: Criando a classe Main – Passo 1

Coloque o nome da nossa classe de Main, como mostra a Figura 27.

Criando a classe Main – Passo 2

Figura 27: Criando a classe Main – Passo 2

Colocando as partes na Classe Main

Vamos deixar claro que por fins didáticos todo o nosso Projeto será criado dentro da Classe Main, mostrada na Figura 28.

Cada função mostrada nas próximas figuras deve ser colocada dentro da classe Main na sequência em que estão sendo mostradas.

Agora vamos adicionar a função responsável pela conexão, as variáveis da nossa Classe e os imports, como ilustra a Figura 29.

Colocando as funções na Classe Main – Passo 1

Figura 28: Colocando as funções na Classe Main – Passo 1

Agora é só ir criando as funções conforme as Listagens de 1 a 5 e, por fim, chamar a função Executa dentro da função main, de acordo com a Listagem 6. Lembrando que todas as funções devem ser inseridas dentro da nossa classe Main, mostrada na Figura 27.

Listagem 1: Função InsereDados da classe Main


private void InsereDados()
{
	do{
	   strCurso = (String)JOptionPane.
	   showInputDialog("Digite o numero do Curso:");
	  }while(strCurso == null);
	do{
	   strNome = (String)JOptionPane.
	   showInputDialog("Digite o nome do Curso:");
	  }while(strNome == null);
	do{
	   strDuracao = (String)JOptionPane.
	   showInputDialog("Digite A Carga Horaria do Curso:");
	  }while(strDuracao == null);
} 

Listagem 2: Função Insert da classe Main


private void Insert(){
	if ((strCurso != null)&&(strNome != null)&&(strDuracao != null)) {
		try
		{
			PreparedStatement strComandoSQL ;
			strComandoSQL = Conexao.prepareStatement(
						"INSERT INTO curso(CDCurso,NMCurso,NRDuracao)" +
						" VALUES(?,?,?)");
			strComandoSQL.setInt(1,Integer.parseInt(strCurso));
			strComandoSQL.setString(2,strNome);
			strComandoSQL.setInt(3,Integer.parseInt(strDuracao));
			int intRegistro = strComandoSQL.executeUpdate();
			 if (intRegistro != 0){
			 JOptionPane.showMessageDialog(null,"Registro adicionado !",
						"Mensagem",JOptionPane.INFORMATION_MESSAGE);
			 Comando.close();
			 Conexao.close();
			 }
			else{
			JOptionPane.showMessageDialog(null,"Registro nao adicionado !",
						"Mensagem",JOptionPane.INFORMATION_MESSAGE);
			Comando.close();
			Conexao.close();
			}
		}
		catch (Exception Excecao) {
			JOptionPane.showMessageDialog(null,"SQLException: " +
			Excecao.getMessage(),"Erro: Selecaoo de registro",
					JOptionPane.INFORMATION_MESSAGE);
		}
	}
	else
	{
			 JOptionPane.showMessageDialog(null,"Falta Preencher Campo!",
			 "Mensagem",JOptionPane.INFORMATION_MESSAGE);
	}
}

Listagem 3: Função Consulta da classe Main


private void Consulta(){
	do
	{
		strRegistro = (String)JOptionPane.
						showInputDialog("Digite o numero do registro:");
	}
	while (strRegistro == null);

	if (strRegistro != null) {
	 try {       
		 PreparedStatement strComandoSQL ;
		 strComandoSQL = Conexao.
				prepareStatement("SELECT * FROM curso WHERE CDCurso= ? ");
				
		 strComandoSQL.setString(1,strRegistro );
		 rsRegistro = strComandoSQL.executeQuery();
		 if (rsRegistro.next()) {
			Concat =  "Código do Curso: " +rsRegistro.getString("CDCurso") 
					+ "\nNome  do Curso: " +rsRegistro.getString("NMCurso")
					+ "\nCarga Horária do Curso: "+rsRegistro.getString("NRDuracao");
			JOptionPane.showMessageDialog(null,Concat,"Registro",
JOptionPane.INFORMATION_MESSAGE);

			//JOptionPane.showMessageDialog(null,rsRegistro.getString("CDCurso"),
			//"Registro",JOptionPane.INFORMATION_MESSAGE);

			//JOptionPane.showMessageDialog(null,rsRegistro.getString("NMCurso"),
			//"Registro",JOptionPane.INFORMATION_MESSAGE);

			//JOptionPane.showMessageDialog(null,rsRegistro.getString("NRDuracao"),
			//"Registro",JOptionPane.INFORMATION_MESSAGE);
		 }
		 else
		  JOptionPane.showMessageDialog(null,"Registro nao encontrado !",
					"Mensagem",JOptionPane.INFORMATION_MESSAGE);
		 Comando.close();
		 Conexao.close();
	 }
	 catch (Exception Excecao) {
		   JOptionPane.showMessageDialog(null,"SQLException: " +
		   Excecao.getMessage(),"Erro: Selecao de registro",
JOptionPane.INFORMATION_MESSAGE);
	 }
	}
}

Listagem 4: Função Menu da classe Main


private void Menu(){
	String strOpcao;
	JOptionPane.showMessageDialog(null,"Programa para Gerenciar Cursos!",
	"Mensagem",JOptionPane.INFORMATION_MESSAGE);
	JOptionPane.showMessageDialog(null,"1- Cadastrar 2- Consultar 3 -Sair !",
	"Mensagem",JOptionPane.INFORMATION_MESSAGE);
	do
	{
		strOpcao = (String)JOptionPane.showInputDialog("Entre com a Opção:");
	}while(strOpcao == null);

	if (Integer.parseInt(strOpcao)== 1 )
	{
		InsereDados();
		Insert();
	}
	else{
		if (Integer.parseInt(strOpcao)== 2 )
		{
			Consulta();
		}
		else
		{	
			Object Botoes[] = {"  Sim  ","  Nao  "};
			int intResposta = JOptionPane.showOptionDialog(null,
			"Deseja mesmo sair ?","Saida",JOptionPane.YES_NO_OPTION,
			JOptionPane.QUESTION_MESSAGE,null,Botoes,Botoes[1]);
			if (intResposta == 0)
			{
				System.exit(0);
			}else{
				Menu();
			}                
		}
	}  
}

Listagem 5: Função Executa da classe Main


private void Executa() {        
	Conecta();//Aqui chamamos a função responsável pela conexão
	Menu();                
}

Agora é só chamar a função Executa dentro da função main.

Listagem 6: Chamando a função Executa


public static void main(String[] args)
{
	//TODO code application logic here
	new Main.Executa();
}

Após adicionar todas as funções mostradas dentro da classe Main, agora é só compilar o Projeto e pronto.

O download do código fonte pode ser feito no topo desta página.

Obrigado a todos e até o próximo artigo.