示例#1
0
  public synchronized Disciplina inclui(String nome, String descricao) throws Exception {

    // ------- Testa consist�ncia dos dados -------
    String testeCons = testaConsistencia(null, nome, descricao);
    if (testeCons != null)
      throw new Exception("não foi possível inserir devido ao campo " + testeCons + "");

    // ------- Insere na base de dados -------
    // Inicia a conexão com a base de dados
    Connection dbCon = BancoDados.abreConexao();
    Statement dbStmt = dbCon.createStatement();
    ResultSet dbRs;
    String str;

    // Pega Id maximo
    long maxId = 1;
    str = "SELECT Max(cod) AS maxId From Disciplina";
    BancoDadosLog.log(str);
    dbRs = dbStmt.executeQuery(str);
    if (dbRs.next()) {
      maxId = dbRs.getLong("maxId");
      maxId++;
    }
    String id = Long.toString(maxId);

    nome = StringConverter.toDataBaseNotation(nome);

    // Insere o elemento na base de dados
    str = "INSERT INTO Disciplina (cod, nome, descricao, desativada)";
    str +=
        " VALUES ("
            + id
            + ",'"
            + nome
            + "'"
            + ",'"
            + StringConverter.toDataBaseNotation(descricao)
            + "',0)";

    BancoDadosLog.log(str);
    dbStmt.executeUpdate(str);

    // Finaliza conexao
    dbStmt.close();
    dbCon.close();

    // ------- Insere na mem�ria -------
    // Cria um novo objeto
    Disciplina obj = new Disciplina(id, nome, descricao, false);

    // Insere o objeto na lista do gerente
    this.listaObj.addElement(obj);

    // ---- Cria uma nova turma ----
    Turma_ger turmager = new Turma_ger();
    turmager.inclui("Turma 1", "", obj);

    return obj;
  }
示例#2
0
  public synchronized void remove(Disciplina obj) throws Exception {

    // PROCEDIMENTOS PR�-Remoção
    // remove listas correspondentes
    Lista_ger listager = new Lista_ger();
    listager.removeByDisciplina(obj);

    // remove turmas correspondentes
    Turma_ger turmager = new Turma_ger();
    turmager.removeByDisciplina(obj);

    // Remoção
    // ------- Remove do banco -------
    Connection dbCon = BancoDados.abreConexao();
    Statement dbStmt = dbCon.createStatement();
    ResultSet dbRs;
    String str;

    str = "DELETE FROM Disciplina WHERE cod=" + obj.getCod();
    BancoDadosLog.log(str);
    dbStmt.executeUpdate(str);

    dbStmt.close();
    dbCon.close();

    // ------- Remove da mem�ria -------
    this.listaObj.removeElement(obj);

    // PROCEDIMENTOS P�S-Remoção

  }
示例#3
0
  public void altera(Disciplina obj, String nome, String descricao) throws Exception {

    // ------- Testa consist�ncia dos dados -------
    String testeCons = testaConsistencia(obj, nome, descricao);
    if (testeCons != null)
      throw new Exception("não foi possível alterar devido ao campo " + testeCons + "");

    // ------- Altera na base de dados -------
    // Inicia a conexão com a base de dados
    Connection dbCon = BancoDados.abreConexao();
    Statement dbStmt = dbCon.createStatement();
    ResultSet dbRs;
    String str;

    nome = StringConverter.toDataBaseNotation(nome);

    str =
        "UPDATE Disciplina SET nome='"
            + nome
            + "', descricao='"
            + StringConverter.toDataBaseNotation(descricao)
            + "' WHERE cod="
            + obj.getCod();
    BancoDadosLog.log(str);
    dbStmt.executeUpdate(str);

    // Finaliza conexao
    dbStmt.close();
    dbCon.close();

    // Altera dados do objeto
    if (!obj.getNome().equals(nome)) {
      obj.setNome(nome);
    }

    if (!obj.getDescricao().equals(descricao)) {
      obj.setDescricao(descricao);
    }
  }
示例#4
0
  protected static synchronized void inicializa() throws Exception {

    if (listaObj == null) { // primeira utilização do gerente de objetos

      listaObj = new Vector();

      // Inicia a conexão com a base de dados
      Connection dbCon = BancoDados.abreConexao();
      Statement dbStmt = dbCon.createStatement();
      ResultSet dbRs;

      // seleciona todos objetos
      String str = "SELECT * FROM Disciplina ORDER BY Nome";
      BancoDadosLog.log(str);
      dbRs = dbStmt.executeQuery(str);

      while (dbRs.next()) {
        // Le dados da base
        String cod = dbRs.getString("cod");
        String nome = dbRs.getString("nome");
        String descricao = StringConverter.fromDataBaseNotation(dbRs.getString("descricao"));
        boolean desativada = dbRs.getBoolean("desativada");

        // Instancia o objeto
        Disciplina obj = new Disciplina(cod, nome, descricao, desativada);

        // Coloca-o na lista de objetos
        listaObj.addElement(obj);
      }

      listaObj.trimToSize();

      // Finaliza conexao
      dbStmt.close();
      dbCon.close();
    }
  }