Estudo de caso em BD - primeira aplicação

0 respostas
D

tenho uma aplicação simples que manipula dados.

Não reparem, pois é meio primeiro exemplo com banco de dados em java.

Como vocês notaram em alguns tópicos anteriores que eu criei, eu mal resolvi o problema de conexão, por isso não reparem!

* PS.: para este aplicativo é preciso criar um banco chamado
aula04 e uma tabela chamada Aluno com as seguintes: id e nome

Segue o código:

/*  para este aplicativo é preciso criar um banco chamado 
  *  aula04 e uma tabela chamada Aluno com os seguintes campos:
  *  id e nome
  */
 
 import java.awt.Frame;
 import java.awt.event.WindowListener;
 import java.awt.event.WindowEvent;
 import java.awt.List;
 import java.sql.Connection;
 import java.sql.DriverManager;
 import java.sql.PreparedStatement;
 import java.sql.ResultSet;
 import java.sql.SQLException;
 import java.sql.Statement;
 
 import javax.swing.JOptionPane;
 
 public class Aula04 extends Frame implements WindowListener{
     
//atributos necessários para a interação com o banco:
     private Connection conn;
     private PreparedStatement pstmt;
     private Statement stmt;
     private ResultSet rs;
     
//sete métodos:
    public void open() {
        try {
            Class.forName("org.gjt.mm.mysql.Driver");
             conn = DriverManager.getConnection("jdbc:mysql://localhost/aula04?autoReconnect=true", "root", "2017");  
            // conn = DriverManager.getConnection("jdbc:mysql://localhost/aula04?user=root&password=2017");
        } catch(ClassNotFoundException e) {
            e.printStackTrace();
        } catch(SQLException ex) {
            ex.printStackTrace();
        }
    }
    
   public void close() {
       try {
           if (stmt != null)
                stmt.close();
              conn.close();
            } catch (SQLException e) {
                JOptionPane.showMessageDialog(null, "O banco de dados não fechou!");
                //e.printStackTrace();
            }
        }
        
   public void inserir() {
       try {
     //abrindo a conexão com o banco:
           open();
           
    //instanciando o objeto statement (stmt) :
           stmt = conn.createStatement();
           
   //executando uma instrução SQL:
           stmt.executeUpdate("INSERT INTO ALUNO VALUES (1, 'Pedro da Silva')");
  //fechando a conexão com o banco:
           close();
        } catch (SQLException e) {
            JOptionPane.showMessageDialog(null, "Não foi possível inserir dados no banco!",
            "Erro", JOptionPane.ERROR_MESSAGE);
            //e.printStackTrace();
        }
    }
    
    
   public void alterar() {
       try {
    //abrindo a conexão com o banco:
           open();
           
    //instanciando o objeto preparedStatement (pstmt) :
           pstmt = conn.prepareStatement("UPDATE ALUNO SET NOME = ? Where id - 1");
    //setando o valor ao parâmetro:
           pstmt.setString(1, "MARIA RITA");
           
    //fechando a conexão com o banco:
           pstmt.execute();
           close();
        } catch (SQLException e) {
    //fechando a conexão com o banco:
            close();
            JOptionPane.showMessageDialog(null, "Erro ao fechar o banco!",
            "Erro", JOptionPane.ERROR_MESSAGE);
            //e.printStackTrace(); 
        }
    }
        
        
     public ResultSet buscarAlunos() {
         try {
             open();
             stmt = conn.createStatement();
             rs = stmt.executeQuery("SELECT id, nome FROM ALUNO");
             return rs;
            } catch (SQLException e) {
                close();
                e.printStackTrace();
            }
         return null;
        }
        
        
     public void imprimirAlunos() throws SQLException {
         
         List listAlunos = new List();
         
         Aula04 aula = new Aula04();
         aula.rs = aula.buscarAlunos();
         while (aula.rs.next())
         listAlunos.add("id: " + aula.rs.getInt("id") + "   -   " + 
         "  Nome: " + aula.rs.getString("nome"));
         
         Frame janela = new Frame("Exemplo de banco de Dados");
         janela.setLocation(300,100);
         janela.setSize(400,300);
         
         janela.add(listAlunos);
         janela.setResizable(false);
         janela.setVisible(true);
         
         janela.addWindowListener(this);
         
        }
        
        public static void main(String[] args) {
            Aula04 aula = new Aula04();
            aula.inserir();
            aula.alterar();
            aula.rs = aula.buscarAlunos();
            try {
                aula.imprimirAlunos();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
        
 //método listener do botão "x" de fechar a tela:
 public void windowClosing(WindowEvent e) {
     System.exit(1);
    }
    public void windowClosed(WindowEvent e) {}
    public void windowIconified(WindowEvent e) {}
    public void windowOpened(WindowEvent e) {}
    public void windowDeiconified(WindowEvent e) {}
    public void windowActivated(WindowEvent e) {}
    public void windowDeactivated(WindowEvent e) {}
        
        
    }

[img]http://i40.servimg.com/u/f40/11/80/81/44/exempl10.gif[/img]

Tá na mão!

Espero encontrar aqui neste fórum, alguns exemplos de como um usuário faz
para inserir dados em um banco através de tabelas ou formulários e depois
buscá-los de diversas maneiras (todos de uma vez, por data, por nome, etc)....

Mas tudo isso utilizando uma aplicação visual, é claro. (uma tabela, quem sabe)...

Criado 27 de maio de 2008
Respostas 0
Participantes 1