View
24
Download
10
Category
Preview:
DESCRIPTION
Banco de dados
Citation preview
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
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.
Criase 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”);
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);
7º) Quando não precisar mais dos objetos obtidos, libereos:
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).
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.
Figura 3 Tela de Seleção do Driver.
Figura 4 – Tela de Configuração do Driver.
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() );
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
· 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
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
"+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!");
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!");
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 (jvmb@ibest.com.br), é MBA em GSI.
Recommended