13
Gostei (8) (1) Buscar comentários post favorito (21) Criando uma aplicação com acesso a Banco de Dados no NetBeans O NetBeans não possui ferramentas que permitam criar visualmente componentes, em um programa, para manipular os dados de uma tabela, a exemplo dos existentes em outras ferramentas, em outras Linguagens de programação. 0 22 Curtir 22

Criando Uma Aplicação Com Acesso a Banco de Dados No NetBeans

Embed Size (px)

DESCRIPTION

Banco de dados

Citation preview

Page 1: Criando Uma Aplicação Com Acesso a Banco de Dados No NetBeans

Gostei (8) (1)

Buscar

comentários post favorito (21)

Criando uma aplicação comacesso a Banco de Dados noNetBeans

O NetBeans não possui ferramentas que permitam criarvisualmente componentes, em um programa, paramanipular os dados de uma tabela, a exemplo dosexistentes em outras ferramentas, em outras Linguagensde programação.

0 22Curtir22

Page 2: Criando Uma Aplicação Com Acesso a Banco de Dados No NetBeans

Introdução

O NetBeans não possui ferramentas que permitam criar visualmente componentes, em um

programa, para manipular os dados de uma tabela, a exemplo dos existentes em outras

ferramentas, em outras Linguagens de programação.

Para trabalhar com Banco de Dados é preciso fazê­lo via código, que deverá ser inserido

dentro do método “actionPerformed” de um JButton.

Cria­se o “Formulário” contendo os componentes visuais para mostrar, e manipular, os

dados da tabela do Banco de Dados. Dentre estes componentes estão os botões ou menus,

os quais serão os responsáveis por executar os códigos para realizar uma determinada

operação, consulta, inserção, alteração ou exclusão em um BD.

Depois de criada a “parte visual”, devem ser implementados os códigos nos botões/menus.

· Podemos construir uma aplicação usando o seguinte roteiro:

1º) Importar o pacote java.sql:

import java.sql.*;

2º) Carregar o driver de acesso ao BD:

Através da Instalação de uma fonte JDBC/ODBC em plataforma Windows:

Class.forName(“sun.jdbc.odbc.JdbcObdcDriver”);

Page 3: Criando Uma Aplicação Com Acesso a Banco de Dados No NetBeans

Através do driver específico do banco. Ex para o MySQL:

Class.forName(“com.mysql.jdbc.Driver”);

3º) Obter uma conexão com o BD: (Ex: para um Banco de Dados Access: IJPlanetas.mdb,

através de uma fonte JDBC/ODBC)

Connection conexão = DriverManager.getConnection(“jdbc:odbc:IJPlanetas”);

4º) Por meio da conexão realizada, devemos obter uma instância de um objeto Statement,

PreparedStatement ou CallableStatement, para passar comandos SQL ao BD:

Statement stmt= conexão.createStatement();

5º) Criar objetos para executar operações no BD (execute (String), executeQuery (String),

ExecuteUpdate(String), executeBatch()):

int reg =stmt.executeUpdate(“delete from planeta where nome=’Maria’”);

ResultSet rs = stmt.executeQuery(“select nome from planeta”);

6º) Algumas operações retornam resultados do BD (um objeto Resultset – conjunto de

registros), os quais devemos exibir ou processar:

while( rs.next() ) //move o curso de registros

String Nome=rs.getString(“nome”); // obtém o valor do campo

“nome” da tabela

System.out.println(Nome);

Page 4: Criando Uma Aplicação Com Acesso a Banco de Dados No NetBeans

7º) Quando não precisar mais dos objetos obtidos, libere­os:

rs.close();

stmt.close();

8º) Após todas as operações encerre a conexão com BD:

conexão.close();

Exemplo Completo

Crie uma aplicação para cadastrar a Matricula e os Nomes dos Funcionários de uma

Empresa, em um Banco de Dados Access, através de uma fonte de dados JDBC/ODBC:

· Criar um novo Project: clique no menu File >> New Project >> selecione General

>> Java Applicatin >> Next >> na próxima janela digite o no do Projeto:

ExemploConexaoBD, clique em Finish.

· Criar um JForm contendo os componentes visuais: Clique no Menu File >> New File

>> Selecione Java GUI Forms >> JFrame Forms >> clique no botão Next. Na janela que se

abre, no campo “Name”, digite “SistCadFunc” e clique no Botão Finish.

· Insira os seguintes componentes: dois JLabel (Nome e Matricula), dois JTextField e

um JButton (Salvar).

Page 5: Criando Uma Aplicação Com Acesso a Banco de Dados No NetBeans

Figura 1 ­ Tela SistCadFunc.

A parte visual esta construída, falta o código para salvar os dados.

· Abra o Access e crie um BD (BDCadastro) com uma Tabela (TabFicha) com os

campos: Matricula (Tipo Numérico/Chave Primária) e Nome – Tipo Texto.

· Criar a fonte de dados JDBC/ODBC: No windows, abra o Painel de Controle >>

Ferramentas Administrativas >> Fontes de Dados ODBC >> clique no Botão Add >>

Selecione o Driver p/ BD Access >> clique no botão Concluir >> no campo “Nome da Fonte

de Dados” digite “BDCadastro” >> clique no botão Selecionar >> Procure o BD criado

(BDCadastro) e clique no Botão OK >> OK >> OK.

Figura 2 ­ Tela de Abertura da Fonte de Dados ODBC.

Page 6: Criando Uma Aplicação Com Acesso a Banco de Dados No NetBeans

Figura 3 ­ Tela de Seleção do Driver.

Figura 4 – Tela de Configuração do Driver.

Page 7: Criando Uma Aplicação Com Acesso a Banco de Dados No NetBeans

Figura 5 – Tela de Seleção do Banco Access.

Criado o BD e a Fonte ODBC, volte para a sua aplicação no NetBeans e clique com o botão

direito do mouse no JButton (Salvar), selecione Event >> Action >> actionPerformed,

para codificar a conexão:

· Depois de “private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) “,

digite:

try //tratamento de erros

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");//Driver JDBC – Fonte

de Dados ODBC

//conecta no BD, as aspas vazias representam o Login: usuário e

senha.

Connection con =

DriverManager.getConnection("jdbc:odbc:BDCadastro","","");

Statement stmt = con.createStatement(); //objeto comdo sql

int cadMat=Integer.parseInt( jTextField1.getText() );

Page 8: Criando Uma Aplicação Com Acesso a Banco de Dados No NetBeans

String cadNome = jTextField2.getText(); //obtém nome digitado

stmt.executeUpdate("insert into TabFicha (Matricula,Nome) values ('"

+ cadMat + "','" + cadNome + "')" );

JOptionPane.showMessageDialog( this, " Dados Salvos! ");

con.close(); // fecha conexão com BD

catch( SQLException e) //trata os erros SQL

JOptionPane.showMessageDialog(this, "Erro Cmdo SQL " +

e.getMessage() );

catch( ClassNotFoundException e) //trata erros de conexão

JOptionPane.showMessageDialog( this, " Driver não encontrado "

);

· Importar os pacotes “sql” e “swing” do Java ­ antes de: “public class SistCadFunc...”

digite:

import java.sql.*;

import javax.swing.*;

Compile (F9) Execute (Shift+F6).

Realizando operações de Consulta, Alteração e Exclusão em BD:

DEVMEDIA LOGIN

Page 9: Criando Uma Aplicação Com Acesso a Banco de Dados No NetBeans

· Insira três Botões para executar as operações restantes no Banco de Dados

(Consulta, Alteração e Exclusão, através da Matricula), um JLabel, para exibir o Texto

“Matricula para Consulta/Exclusão”, supondo que estas operações serão feitas através do

campo “Matricula”, e insira também um JTextField para usuário poder digitar a “Matricula”,

ou crie um novo Form contendo os JLabel, JTextField , e JButton, sendo que o mesmo

deverá ser chamado por outro Form através de um JMenurBar.

· Supondo que foram inseridos os novos componentes da seguinte forma:

Figura 6 – Tela SistCadFunc atualizada.

· Basta clicar com o botão direito do mouse sobre o botão desejado e inserir o

respectivo código para a respectiva operação:

· Operação de Consulta (Através da Matricula digitada pelo usuário no jTextField3)

boolean consulta=true;

try //tratamento de erros

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");//busca Driver

//conecta no BD

Page 10: Criando Uma Aplicação Com Acesso a Banco de Dados No NetBeans

Connection

con=DriverManager.getConnection("jdbc:odbc:BDCadastro","","");

Statement stmt= con.createStatement();//objeto comdo sql

int ConsMatricula= Integer.parseInt(jTextField3.getText());

ResultSet RS= stmt.executeQuery("Select * from TabFicha where

Matricula=" + ConsMatricula );

while (RS.next())

//Exibir os valores retornados na consulta nos jTextField

int Mat= RS.getInt("Matricula");//Pega a Matricula

jTextField1.setText(String.valueOf(Mat)); //converte Inteiro

para String.

jTextField2.setText(RS.getString("Nome")); // Pega o Nome

consulta=false;

JOptionPane.showMessageDialog(this,"Dados Encontrados!");

if (consulta) JOptionPane.showMessageDialog(this,"Dados Não

Encontrados!");

RS.close();

stmt.close();

con.close(); //fecha conexão com BD

catch(SQLException e) //trata os erros

JOptionPane.showMessageDialog(this,"Erro Cmdo SQL

Page 11: Criando Uma Aplicação Com Acesso a Banco de Dados No NetBeans

"+e.getMessage());

catch(ClassNotFoundException e)

JOptionPane.showMessageDialog(this,"Driver não encontrado");

· Alterar: (Realiza alteração dos dados através da Matricula informada no jTextField3)

try //tratamento de erros

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");//busca Driver

//conecta no BD

Connection

con=DriverManager.getConnection("jdbc:odbc:BDCadastro","","");

Statement stmt= con.createStatement();//objeto comdo sql

int consMatricula= Integer.parseInt(jTextField3.getText());

int cadMat=Integer.parseInt(jTextField1.getText());

String cadNome=jTextField2.getText();

int registro = stmt.executeUpdate("update TabFicha set Nome='" + cadNome +

"', Matricula=" + cadMat + " where Matricula=" + consMatricula);

if (registro!=0) JOptionPane.showMessageDialog(this,"Dados Alterados!");

else JOptionPane.showMessageDialog(this,"Dados Não

Alterados!");

Page 12: Criando Uma Aplicação Com Acesso a Banco de Dados No NetBeans

stmt.close();

con.close(); //fecha conexão com BD

catch(SQLException e) //trata os erros

JOptionPane.showMessageDialog(this,"Erro Cmdo SQL

"+e.getMessage());

catch(ClassNotFoundException e)

JOptionPane.showMessageDialog(this,"Driver não encontrado");

· Excluir: (Realiza exclusão do registro através da Matricula informada no jTextField3)

try //tratamento de erros

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");//busca Driver

//conecta no BD

Connection

con=DriverManager.getConnection("jdbc:odbc:BDCadastro","","");

Statement stmt= con.createStatement();//objeto comdo sql

int excMatricula= Integer.parseInt(jTextField3.getText());

int registro=stmt.executeUpdate("delete from TabFicha where

Matricula=" + excMatricula);

if (registro!=0) JOptionPane.showMessageDialog(this,"Dados Excluidos!");

Page 13: Criando Uma Aplicação Com Acesso a Banco de Dados No NetBeans

O que você achou deste post?

else JOptionPane.showMessageDialog(this,"Dados não Excluidos!");

stmt.close();

jTextField3.setText(“”); //Limpa a caixa de texto

con.close(); //fecha conexão com BD

catch(SQLException e) //trata os erros

JOptionPane.showMessageDialog(this,"Erro Cmdo SQL

"+e.getMessage());

catch(ClassNotFoundException e)

JOptionPane.showMessageDialog(this,"Driver não encontrado");

Compile Execute

OBS: Como os comandos de conexão com o Banco de Dados estão se repetido, os mesmos

poderiam ser implementados dentro do método construtor ou dentro de um método e

serem executados através de uma chamada deste método quando se desejar estabelecer

uma conexão com o banco de dados para realizar uma determinada operação em suas

tabelas, diminuindo a quantidade de código a ser digitado.

José Valney Melo Barbalho

José Valney Melo Barbalho ([email protected]), é MBA em GSI.