Derig Almeida Vidal, MSc.
Mestre em Computação Aplicada, Engenheiro de Produção e Tecnólogo em Automática
Prof. Derig Almeida Vidal, MSc.
IMPLEMENTE A INTERFACE A SEGUIR
EVENTO DO BOTÃO LIMPAR
jTextField1.setText("");
jTextField2.setText("");
CRIE O BANCO DE DADOS NO ACCESS
•
Abra o Access e crie um banco de dados
(BDCadastro) com uma tabela (TabFicha) com os
campos:
Matricula (Tipo Numérico/Chave Primária); e,
Nome – Tipo Texto.
• Salve o banco com a extensão .mdb (Banco de Dados
do Microsoft Office Access (formato
Prof. Derig Almeida Vidal, MSc.
CRIE A FONTE DE DADOS JDBC/ODBC
• No Windows, abra:
Painel de Controle >> Ferramentas Administrativas >>
Fontes de Dados ODBC
Clique no Botão Adicionar >> 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.
Prof. Derig Almeida Vidal, MSc.
CRIE A FONTE DE DADOS JDBC/ODBC
Selecione MS Access Database >> Clique no Botão
Adicionar
CRIE A FONTE DE DADOS JDBC/ODBC
Selecione o Driver do Microsoft Access (*.mdb) >>
clique no botão Concluir
CRIE A FONTE DE DADOS JDBC/ODBC
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.
Prof. Derig Almeida Vidal, MSc.
EVENTO DO BOTÃO INSERIR
try{ //tratamento de erros
//Driver JDBC – Fonte de Dados ODBC
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
//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 com do 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 + "')" );
Prof. Derig Almeida Vidal, MSc.
EVENTO DO BOTÃO INSERIR
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 " );
}
OBS: Lembre-se de adicionar: import java.sql.*;
EXERCÍCIO
1. Expanda o exemplo anterior adicionando os campos
a seguir:
a)
CPF;
b)
Telefone;
c)
Logradouro;
d)
Nº;
e)
Bairro;
f)
Cidade;
g)
Estado.
BUSCA POR CLIENTES
• Implemente a interface a seguir, dentro do mesmo
projeto anterior.
Prof. Derig Almeida Vidal, MSc.
EVENTO DO BOTÃO BUSCAR
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 logradouro from TabFicha where nome = 'João' AND cidade = 'Juazeiro do Morte');
while (RS.next()) {
//Exibir os valores retornados na consulta nos jTextField
Prof. Derig Almeida Vidal, MSc.
EVENTO DO BOTÃO BUSCAR
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();
EVENTO DO BOTÃO BUSCAR
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");
}
EXERCÍCIO
2. Expanda o exemplo anterior (da busca) adicionando
os campos a seguir ao resultado:
a)
CPF;
b)
Telefone;
c)
Logradouro;
d)
Nº;
e)
Bairro;
f)
Cidade;
g)
Estado.
3. Expanda o exemplo anterior adicionando a opção de
buscar pelo CPF.
Prof. Derig Almeida Vidal, MSc.
BOTÃO EXCLUIR –
ADICIONE UM BOTÃO EXCLUIR NA INTERFACE ANTERIORtry{ //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!");
else JOptionPane.showMessageDialog(this,"Dados não Excluidos!");
stmt.close();
Prof. Derig Almeida Vidal, MSc.
BOTÃO EXCLUIR
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"); }
BOTÃO ALTERAR
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!");
BOTÃO ALTERAR
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"); }
Prof. Derig Almeida Vidal, MSc.
EXERCÍCIO
4. Expanda o exemplo anterior adicionando os campos
a seguir:
a)
CPF;
b)
Telefone;
c)
Logradouro;
d)
Nº;
e)
Bairro;
f)
Cidade;
g)
Estado.
Prof. Derig Almeida Vidal, MSc.
BUSCA COM TABELA NA INTERFACE
• Implemente a interface a seguir, dentro do mesmo
projeto anterior.
BOTÃO BUSCAR
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 ResultSet RS;
// Verifica se existe filtro, ou se deve exibir todos if (!jTextField1.getText().equals("")) {
// Faz filtro pela matricula
int ConsMatricula = Integer.parseInt(jTextField1.getText());
BOTÃO BUSCAR
RS = stmt.executeQuery("Select * from TabFicha where Matricula=" + ConsMatricula);
} else {
// Exibe todos
RS = stmt.executeQuery("Select * from TabFicha"); }
DefaultTableModel modelo = new DefaultTableModel(); modelo.addColumn("Codigo");
modelo.addColumn("Nome"); while (RS.next()) {
Prof. Derig Almeida Vidal, MSc.
BOTÃO BUSCAR
modelo.addRow(new Object[]{String.valueOf(Mat), RS.getString("Nome")}); consulta = false; } jTable1.setModel(modelo); if (consulta) {JOptionPane.showMessageDialog(this, "Dados Não Encontrados!");
} else {
JOptionPane.showMessageDialog(this, "Dados Encontrados!");
}
Prof. Derig Almeida Vidal, MSc.
BOTÃO BUSCAR
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");
}