예제 #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 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);
    }
  }