Escolar Documentos
Profissional Documentos
Cultura Documentos
ricas
fabrizzio@inf.ufg.br professor.fabrizzio@gmail.com
Instituto de Informtica
Universidade Federal de Gois
Aula 5
25 de maio de 2012
Prof. Fabrzzio Alphonsus A. M. N. Soares | Acessando Bancos de Dados com Java - Verso Grfica (Continuao)
1/23
Bancos de Dados com Java
Prof. Fabrzzio Alphonsus A. M. N. Soares | Acessando Bancos de Dados com Java - Verso Grfica (Continuao)
2/23
Tabela - Exemplo I
Tabela: cliente
matricula integer
nome varchar(50)
idade integer
sexo char(1)
Prof. Fabrzzio Alphonsus A. M. N. Soares | Acessando Bancos de Dados com Java - Verso Grfica (Continuao)
3/23
Problema - Exemplo I
Prof. Fabrzzio Alphonsus A. M. N. Soares | Acessando Bancos de Dados com Java - Verso Grfica (Continuao)
4/23
Pesquisando os clientes I
Prof. Fabrzzio Alphonsus A. M. N. Soares | Acessando Bancos de Dados com Java - Verso Grfica (Continuao)
5/23
Pesquisando os clientes II
Prof. Fabrzzio Alphonsus A. M. N. Soares | Acessando Bancos de Dados com Java - Verso Grfica (Continuao)
6/23
Criando um boto para pesquisa I
Inicializao do boto:
1 pesquisar = new JButton("Pesquisar");
2 content.add(pesquisar);
3 pesquisar.setBounds(210, 30, 110, 20);
Prof. Fabrzzio Alphonsus A. M. N. Soares | Acessando Bancos de Dados com Java - Verso Grfica (Continuao)
7/23
Criando um boto para pesquisa II
Mtodo pesquisarActionPerformed
1 private void pesquisarActionPerformed(ActionEvent evt){
2 if (pesquisarDados() == false)
3 JOptionPane.showMessageDialog(this, "Matrcula no
encontrada");
4 }
Prof. Fabrzzio Alphonsus A. M. N. Soares | Acessando Bancos de Dados com Java - Verso Grfica (Continuao)
8/23
Criando um boto para pesquisa III
Criando o mtodo de pesquisa
1 private boolean pesquisarDados(){
2 if (matricula.getText().length() == 0){
3 numeroMatricula = 0;
4 return false;
5 }
6 try {
7 PreparedStatement st = cn.prepareStatement(
8 "select * from cliente where matricula = ?"
9 );
10 st.setInt(1,Integer.parseInt(matricula.getText()));
11 ResultSet rs = st.executeQuery();
12
13 if (rs.next()) {
14
15 nome.setText(rs.getString("nome"));
16 idade.setText(rs.getString("idade"));
17
18 if (rs.getString("sexo").equals("M"))
19 sexo.setSelectedIndex(0);
20 else
21 sexo.setSelectedIndex(1);
22
23 numeroMatricula = rs.getInt("matricula");
24 nome.requestFocus();
25
26 rs.close();
Prof. Fabrzzio Alphonsus A. M. N. Soares | Acessando Bancos de Dados com Java - Verso Grfica (Continuao)
9/23
Criando um boto para pesquisa IV
27 st.close();
28
29 return true;
30 } else {
31 numeroMatricula = 0;
32 rs.close();
33 st.close();
34 return false;
35 }
36
37 } catch (SQLException e) {
38 JOptionPane.showMessageDialog(
39 this,
40 "Erro ao pesquisar o registro."
41 );
42 }
43 return false;
44 }
Prof. Fabrzzio Alphonsus A. M. N. Soares | Acessando Bancos de Dados com Java - Verso Grfica (Continuao)
10/23
Pesquisando quando a caixa de texto
perde o foco I
Prof. Fabrzzio Alphonsus A. M. N. Soares | Acessando Bancos de Dados com Java - Verso Grfica (Continuao)
11/23
Pesquisando quando a caixa de texto
perde o foco II
Mtodo matriculaFocusLost
1 private void matriculaFocusLost(FocusEvent evt){
2 pesquisarDados();
3 }
Prof. Fabrzzio Alphonsus A. M. N. Soares | Acessando Bancos de Dados com Java - Verso Grfica (Continuao)
12/23
Organizando o cdigo
Prof. Fabrzzio Alphonsus A. M. N. Soares | Acessando Bancos de Dados com Java - Verso Grfica (Continuao)
13/23
Dividindo as funes I
Prof. Fabrzzio Alphonsus A. M. N. Soares | Acessando Bancos de Dados com Java - Verso Grfica (Continuao)
14/23
Dividindo as funes II
1 private void excluirCliente(){
2 if (numeroMatricula == 0){
3 JOptionPane.showMessageDialog(this, "Pesquise uma
matrcula antes de exclu-la.");
4 matricula.requestFocus();
5 return;
6 }
7 try {
8 PreparedStatement st = cn.prepareStatement("delete from
cliente where matricula = ?");
9 st.setInt(1,Integer.parseInt(matricula.getText()));
10 st.execute();
11 st.close();
12 limparCampos();
13 } catch (SQLException e) {
14 JOptionPane.showMessageDialog(this, "Erro ao inserir o
registro.");
15 }
16 }
Prof. Fabrzzio Alphonsus A. M. N. Soares | Acessando Bancos de Dados com Java - Verso Grfica (Continuao)
15/23
Dividindo as funes III
Prof. Fabrzzio Alphonsus A. M. N. Soares | Acessando Bancos de Dados com Java - Verso Grfica (Continuao)
16/23
Dividindo as funes IV
1 private void inserirCliente(){
2 try {
3 PreparedStatement st = cn.prepareStatement(
4 "insert into cliente (matricula, nome, idade, sexo)
values (?, ?, ?, ?)");
5 st.setInt(1,Integer.parseInt(matricula.getText()));
6 st.setString(2, nome.getText());
7 st.setInt(3, Integer.parseInt(idade.getText()));
8 if (sexo.getSelectedIndex() == 0) st.setString(4, "M");
9 else st.setString(4, "F");
10 st.execute();
11 st.close();
12 JOptionPane.showMessageDialog(this, "Cliente inserido com
sucesso.");
13 limparCampos();
14 } catch (SQLException e) {
15 JOptionPane.showMessageDialog(this, "Erro ao inserir o
registro.");
16 }}
Prof. Fabrzzio Alphonsus A. M. N. Soares | Acessando Bancos de Dados com Java - Verso Grfica (Continuao)
17/23
Alterando o cliente I
Prof. Fabrzzio Alphonsus A. M. N. Soares | Acessando Bancos de Dados com Java - Verso Grfica (Continuao)
18/23
Alterando o cliente II
Prof. Fabrzzio Alphonsus A. M. N. Soares | Acessando Bancos de Dados com Java - Verso Grfica (Continuao)
19/23
Alterando o cliente III
Prof. Fabrzzio Alphonsus A. M. N. Soares | Acessando Bancos de Dados com Java - Verso Grfica (Continuao)
20/23
Implementando a funo de alterao I
Prof. Fabrzzio Alphonsus A. M. N. Soares | Acessando Bancos de Dados com Java - Verso Grfica (Continuao)
21/23
Implementando a funo de alterao II
Prof. Fabrzzio Alphonsus A. M. N. Soares | Acessando Bancos de Dados com Java - Verso Grfica (Continuao)
22/23
Implementando a funo de alterao III
Prof. Fabrzzio Alphonsus A. M. N. Soares | Acessando Bancos de Dados com Java - Verso Grfica (Continuao)
23/23