Advertisement
Guest User

Untitled

a guest
May 21st, 2017
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 12.88 KB | None | 0 0
  1. //Classe que faz a conexão com o banco de dados
  2. package pkgIntegrado;
  3. import java.sql.*;
  4. import javax.swing.JOptionPane;
  5. import java.text.*;
  6.  
  7. public class ConexaoBD {
  8.     //Atributos - Início
  9.     private Connection conexao;
  10.     private Statement stm;
  11.     //Atributos - Fim
  12.  
  13.     //Métodos gerais - Início
  14.     public void iniciaConexao(){
  15.         try{
  16.             Class.forName("com.mysql.jdbc.Driver");
  17.         }
  18.         catch(ClassNotFoundException e){
  19.             JOptionPane.showMessageDialog(null, "Biblioteca de conexão não encontrada", "Erro", JOptionPane.ERROR_MESSAGE);
  20.         }
  21.  
  22.         try{
  23.             //Alterar aqui com as configurações do banco de dados
  24.             conexao = DriverManager.getConnection("jdbc:mysql://localhost/INTEGRADO_BD_ES?user=integrado&password=integrado");
  25.         }
  26.         catch(SQLException e){
  27.             JOptionPane.showMessageDialog(null, "Erro ao conectar com o banco de dados", "Erro", JOptionPane.ERROR_MESSAGE);
  28.         }
  29.  
  30.         try{
  31.             stm = conexao.createStatement();
  32.         }
  33.         catch(Exception e){
  34.             JOptionPane.showMessageDialog(null, "Erro ao conectar com o banco de dados", "Erro", JOptionPane.ERROR_MESSAGE);            
  35.         }
  36.     }
  37.     //Métodos gerais - Fim
  38.  
  39.     //Métodos AreaCurso - Início
  40.     public boolean cadastrarAreaCurso(AreaCurso a){
  41.         try{
  42.             stm.execute("INSERT INTO AREA_CURSO VALUES ('" + a.getDescricao() + "')");
  43.             JOptionPane.showMessageDialog(null, "Registro incluído com sucesso", "Informação", JOptionPane.INFORMATION_MESSAGE);
  44.             return true;
  45.         }
  46.         catch(Exception e){
  47.             JOptionPane.showMessageDialog(null, "Erro ao incluir registro", "Erro", JOptionPane.ERROR_MESSAGE);
  48.             return false;
  49.         }
  50.     }
  51.     public ResultSet buscaAreasCurso(String condicao){
  52.         String consulta = "SELECT DESCRICAOAREA FROM AREA_CURSO";
  53.         if(condicao != null){
  54.             consulta = consulta + " WHERE " + condicao;
  55.         }
  56.         try{
  57.             return stm.executeQuery(consulta);
  58.         }
  59.         catch(Exception e){
  60.             return null;
  61.         }
  62.     }
  63.     public AreaCurso consultaAreaCurso(String descricao){
  64.         String consulta = "SELECT DESCRICAOAREA FROM AREA_CURSO WHERE DESCRICAOAREA='" + descricao + "'";
  65.         ResultSet rs;
  66.         try{
  67.             rs = stm.executeQuery(consulta);
  68.             rs.next();
  69.             return new AreaCurso(rs.getString(1));
  70.         }
  71.         catch(Exception e){
  72.             return null;
  73.         }
  74.     }
  75.     public boolean removerAreaCurso(AreaCurso a){
  76.         try{
  77.             stm.execute("DELETE FROM AREA_CURSO WHERE DESCRICAOAREA = '" + a.getDescricao() + "'");
  78.             JOptionPane.showMessageDialog(null, "Registro removido com sucesso", "Informação", JOptionPane.INFORMATION_MESSAGE);
  79.             return true;
  80.         }
  81.         catch(SQLIntegrityConstraintViolationException e){
  82.             JOptionPane.showMessageDialog(null, "Impossível remover área do curso. Existem cursos relacionados a essa área.\nRemova esses cursos e tente novamente.", "Erro", JOptionPane.ERROR_MESSAGE);
  83.         }
  84.         catch(Exception e){
  85.             JOptionPane.showMessageDialog(null, "Erro ao remover registro", "Erro", JOptionPane.ERROR_MESSAGE);
  86.         }
  87.         return false;
  88.     }
  89.     //Métodos AreaCurso - Fim
  90.  
  91.     //Métodos Curso - Início
  92.     public boolean cadastrarCurso(Curso c){
  93.         try{
  94.             stm.execute("INSERT INTO CURSO VALUES (" +
  95.                     c.getCodigo() + ", '" +
  96.                     c.getNome() + "', '" +
  97.                     formataDataSQL(c.getDataInicio()) + "', '" +
  98.                     formataDataSQL(c.getDataFim()) + "', '" +
  99.                     formataDataSQL(c.getDataInicioMatricula()) + "', '" +
  100.                     formataDataSQL(c.getDataFimMatricula()) + "', '" +
  101.                     c.getAreaCurso() + "', " +
  102.                     c.getCodigoProfessor() + ")");
  103.             JOptionPane.showMessageDialog(null, "Registro incluído com sucesso", "Informação", JOptionPane.INFORMATION_MESSAGE);
  104.             return true;
  105.         }
  106.         catch(Exception e){
  107.             JOptionPane.showMessageDialog(null, "Erro ao incluir registro", "Erro", JOptionPane.ERROR_MESSAGE);
  108.             return false;
  109.         }
  110.     }
  111.     public ResultSet buscaCursos(String condicao){
  112.         String consulta = "SELECT CODIGOCURSO, NOMECURSO FROM CURSO";
  113.         if(condicao != null){
  114.             consulta = consulta + " WHERE " + condicao;
  115.         }
  116.         try{
  117.             return stm.executeQuery(consulta);
  118.         }
  119.         catch(Exception e){
  120.             return null;
  121.         }
  122.     }
  123.     public Curso consultaCurso(int codigo){
  124.         String consulta = "SELECT * FROM CURSO WHERE CODIGOCURSO=" + codigo;
  125.         ResultSet rs;
  126.         try{
  127.             rs = stm.executeQuery(consulta);
  128.             rs.next();
  129.             return new Curso(rs.getInt(1), rs.getString(2), rs.getString(7), rs.getInt(8),
  130.                     formataDataNormal(rs.getString(3)),
  131.                     formataDataNormal(rs.getString(4)),
  132.                     formataDataNormal(rs.getString(5)),
  133.                     formataDataNormal(rs.getString(6)));
  134.         }
  135.         catch(Exception e){
  136.             return null;
  137.         }
  138.     }
  139.     public boolean removerCurso(Curso c){
  140.         try{
  141.             stm.execute("DELETE FROM CURSO WHERE CODIGOCURSO= " + c.getCodigo());
  142.             JOptionPane.showMessageDialog(null, "Registro removido com sucesso", "Informação", JOptionPane.INFORMATION_MESSAGE);
  143.             return true;
  144.         }
  145.         catch(SQLIntegrityConstraintViolationException e){
  146.             JOptionPane.showMessageDialog(null, "Impossível remover curso. Existem disciplinas relacionadas a esse curso.\nRemova essas disciplinas e tente novamente.", "Erro", JOptionPane.ERROR_MESSAGE);
  147.         }
  148.         catch(Exception e){
  149.             JOptionPane.showMessageDialog(null, "Erro ao remover registro", "Erro", JOptionPane.ERROR_MESSAGE);
  150.         }
  151.         return false;
  152.     }
  153.     public boolean atualizarCurso(Curso c){
  154.         try{
  155.             stm.execute("UPDATE CURSO SET " +
  156.                     "NOMECURSO = '" + c.getNome() + "', " +
  157.                     "DATAINICIO = '" + formataDataSQL(c.getDataInicio()) + "', " +
  158.                     "DATAFIM='" + formataDataSQL(c.getDataFim()) + "', " +
  159.                     "DATAINICIOMATRICULA = '" + formataDataSQL(c.getDataInicioMatricula()) + "', " +
  160.                     "DATAFIMMATRICULA = '" + formataDataSQL(c.getDataFimMatricula()) + "', " +
  161.                     "AREACURSO = '" + c.getAreaCurso() + "', " +
  162.                     "PROFESSORRESPONSAVEL = " + c.getCodigoProfessor() + " " +
  163.                     "WHERE CODIGOCURSO = " + c.getCodigo()
  164.                     );
  165.             JOptionPane.showMessageDialog(null, "Registro atualizado com sucesso", "Informação", JOptionPane.INFORMATION_MESSAGE);
  166.             return true;
  167.         }
  168.         catch(Exception e){
  169.             JOptionPane.showMessageDialog(null, "Erro ao atualizar registro", "Erro", JOptionPane.ERROR_MESSAGE);
  170.         }
  171.         return false;
  172.     }
  173.     //Métodos Curso - Fim
  174.  
  175.     //Métodos Disciplina - Início
  176.     public boolean cadastrarDisciplina(Disciplina d){
  177.         try{
  178.             stm.execute("INSERT INTO DISCIPLINA VALUES (" +
  179.                     d.getCodigo() + ", '" +
  180.                     d.getNome() + "', '" +
  181.                     d.getEmenta() + "', '" +
  182.                     formataDataSQL(d.getDataInicio()) + "', '" +
  183.                     formataDataSQL(d.getDataFim()) + "', '" +
  184.                     formataDataSQL(d.getDataInicioMatricula()) + "', '" +
  185.                     formataDataSQL(d.getDataFimMatricula()) + "', " +
  186.                     d.getNumeroAlunos() + ", " +
  187.                     d.getCodigoCurso() + ", " +
  188.                     d.getCodigoProfessor() + ", '" +
  189.                     d.getObjetivo() + "')");
  190.             JOptionPane.showMessageDialog(null, "Registro incluído com sucesso", "Informação", JOptionPane.INFORMATION_MESSAGE);
  191.             return true;
  192.         }
  193.         catch(Exception e){
  194.             JOptionPane.showMessageDialog(null, "Erro ao incluir registro", "Erro", JOptionPane.ERROR_MESSAGE);
  195.             return false;
  196.         }
  197.     }
  198.     public ResultSet buscaDisciplinas(String condicao){
  199.         String consulta = "SELECT CODIGODISCIPLINA, NOMEDISCIPLINA FROM DISCIPLINA";
  200.         if(condicao != null){
  201.             consulta = consulta + " WHERE " + condicao;
  202.         }
  203.         try{
  204.             return stm.executeQuery(consulta);
  205.         }
  206.         catch(Exception e){
  207.             return null;
  208.         }
  209.     }
  210.     public Disciplina consultaDisciplina(int codigo){
  211.         String consulta = "SELECT * FROM DISCIPLINA WHERE CODIGODISCIPLINA=" + codigo;
  212.         ResultSet rs;
  213.         try{
  214.             rs = stm.executeQuery(consulta);
  215.             rs.next();
  216.             return new Disciplina(rs.getInt(1), rs.getString(2), rs.getString(11),
  217.                     rs.getString(3), formataDataNormal(rs.getString(4)),
  218.                     formataDataNormal(rs.getString(5)),
  219.                     formataDataNormal(rs.getString(6)),
  220.                     formataDataNormal(rs.getString(7)),
  221.                     rs.getInt(8), rs.getInt(9), rs.getInt(10));
  222.         }
  223.         catch(Exception e){
  224.             return null;
  225.         }
  226.     }
  227.     public boolean removerDisciplina(Disciplina d){
  228.         try{
  229.             stm.execute("DELETE FROM DISCIPLINA WHERE CODIGODISCIPLINA= " + d.getCodigo());
  230.             JOptionPane.showMessageDialog(null, "Registro removido com sucesso", "Informação", JOptionPane.INFORMATION_MESSAGE);
  231.             return true;
  232.         }
  233.         catch(SQLIntegrityConstraintViolationException e){
  234.             JOptionPane.showMessageDialog(null, "Impossível remover disciplina. Existem alunos ou professores relacionados a essa disciplina.\nAltere essas opções e tente novamente.", "Erro", JOptionPane.ERROR_MESSAGE);
  235.         }
  236.         catch(Exception e){
  237.             JOptionPane.showMessageDialog(null, "Erro ao remover registro", "Erro", JOptionPane.ERROR_MESSAGE);
  238.         }
  239.         return false;
  240.     }
  241.     public boolean atualizarDisciplina(Disciplina d){
  242.         try{
  243.             stm.execute("UPDATE DISCIPLINA SET " +
  244.                     "NOMEDISCIPLINA='" + d.getNome() + "', " +
  245.                     "EMENTADISCIPLINA='" + d.getEmenta() + "', " +
  246.                     "DATAINICIO='" + formataDataSQL(d.getDataInicio()) + "', " +
  247.                     "DATAFIM='" + formataDataSQL(d.getDataFim()) + "', " +
  248.                     "DATAINICIOMATRICULA='" + formataDataSQL(d.getDataInicioMatricula()) + "', " +
  249.                     "DATAFIMMATRICULA='" + formataDataSQL(d.getDataFimMatricula()) + "', " +
  250.                     "NUMEROALUNOS=" + d.getNumeroAlunos() + ", " +
  251.                     "CODIGOCURSO=" + d.getCodigoCurso() + ", " +
  252.                     "PROFESSORRESPONSAVEL=" + d.getCodigoProfessor() + ", " +
  253.                     "OBJETIVO='" + d.getObjetivo() + "' " +
  254.                     "WHERE CODIGODISCIPLINA=" + d.getCodigo()
  255.                     );
  256.             JOptionPane.showMessageDialog(null, "Registro atualizado com sucesso", "Informação", JOptionPane.INFORMATION_MESSAGE);
  257.             return true;
  258.         }
  259.         catch(Exception e){
  260.             JOptionPane.showMessageDialog(null, "Erro ao atualizar registro", "Erro", JOptionPane.ERROR_MESSAGE);
  261.         }
  262.         return false;
  263.     }
  264.     //Métodos Disciplina - Fim
  265.  
  266.     //Métodos Professor - Início
  267.     public ResultSet buscaProfessores(String condicao){
  268.         String consulta = "SELECT * FROM PROFESSOR";
  269.         if(condicao != null){
  270.             consulta = consulta + " WHERE " + condicao;
  271.         }
  272.         try{
  273.             return stm.executeQuery(consulta);
  274.         }
  275.         catch(Exception e){
  276.             return null;
  277.         }
  278.     }
  279.     //Métodos Professor - Fim
  280.  
  281.  
  282.     //Métodos Auxiliares - Inicio
  283.     public String formataDataSQL(String data){
  284.         DateFormat formatoSQL = new SimpleDateFormat("yyyy-MM-dd");
  285.         DateFormat formatoNormal = new SimpleDateFormat("dd/MM/yyyy");
  286.         java.util.Date dataFormatada = null;
  287.  
  288.         try{
  289.             dataFormatada = formatoNormal.parse(data);
  290.         }
  291.         catch(Exception e){}
  292.  
  293.         return formatoSQL.format(dataFormatada).toString();
  294.     }
  295.     public String formataDataNormal(String data){
  296.         DateFormat formatoSQL = new SimpleDateFormat("yyyy-MM-dd");
  297.         DateFormat formatoNormal = new SimpleDateFormat("dd/MM/yyyy");
  298.         java.util.Date dataFormatada = null;
  299.  
  300.         try{
  301.             dataFormatada = formatoSQL.parse(data);
  302.         }
  303.         catch(Exception e){}
  304.  
  305.         return formatoNormal.format(dataFormatada).toString();
  306.     }
  307.     //Métodos Auxiliares - Fim
  308.    
  309. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement