function atualizar($id, $dados, $tabela = null, $evitarLoop = false) { $this->validaDados($dados); if (empty($this->errosDeValidacao)) { $id = (int) $id; $this->antesEditar($id); $criterio = new \TCriteria(); $criterio->add(new \TFilter('id', '=', $id)); $sql = new \TSqlUpdate(); $tabela = $tabela ? $tabela : $this->nomeClasse(); $sql->setEntity($tabela); unset($dados['nova1']); unset($dados['nova2']); foreach ($dados as $campo => $valor) { $sql->setRowData($campo, $valor); } $sql->setCriteria($criterio); $sql = $sql->getInstruction(); $this->query($sql); $this->depoisEditar($id); } }
public function store() { if (empty($this->data['codigo']) or !$this->load($this->codigo)) { /*if (empty($this->data['codigo'])) { $this->codigo = $this->getLast() +1; }*/ // cria instrução SQL $sql = new TSqlInsert(); $sql->addEntity($this->getEntity()); // percorre dados do objeto foreach ($this->data as $key => $value) { // passa os dados do objeto para o SQL $sql->setRowData($key, $this->{$key}); } } else { // cria instru��o UPDATE $sql = new TSqlUpdate(); $sql->addEntity($this->getEntity()); $criteria = new TCriteria(); $criteria->add(new TFilter('codigo', ' = ', $this->codigo)); $sql->setCriteria($criteria); // percorre dados do objeto foreach ($this->data as $key => $value) { if ($key !== 'codigo') { // passa os dados do objeto para o SQL $sql->setRowData($key, $this->{$key}); } } } if ($conn = TTransaction::get()) { $result = $conn->exec($sql->getInstruction()); return $result; } else { throw new Exception('Não há transação ativa'); } }
private function update() { try { //Inicia Transação com banco de dados TTransaction2::open('my_bd_site'); //Cria instrução INSERT $sql = new TSqlUpdate(); //Define entidade $sql->setEntity('tecnicoinformatica'); //Cria um critério de seleção pelo ID $criteria = new TCriteria(); $criteria->add(new TFilter('codigo', '=', 1)); $sql->setCriteria($criteria); //Atribui o valor a cada coluna $sql->setRowData('conteudo', $this->conteudo); //Obtem a conexão ativa $conn = TTransaction2::get(); //Executa Instrução SQL $result = $conn->Query($sql->getInstruction()); TTransaction2::close(); return true; } catch (Exception $e) { return false; } }
public function store() { // verifica se tem ID ou se existe na base de dados if (empty($this->data['id']) or !$this->load($this->id)) { // incrementa o ID if (empty($this->data['id'])) { $this->id = $this->getLast() + 1; } // cria uma instrução de insert $sql = new TSqlInsert(); $sql->setEntity($this->getEntity()); // percorre os dados do objeto foreach ($this->data as $key => $value) { // passa os dados do objeto para o SQL $sql->setRowData($key, $this->{$key}); } } else { // instancia instrução de update $sql = new TSqlUpdate(); $sql->setEntity($this->getEntity()); // cria um critério de seleção baseado no ID $criteria = new TCriteria(); $criteria->add(new TFilter('id', '=', $this->id)); $sql->setCriteria($criteria); // percorre os dados do objeto foreach ($this->data as $key => $value) { if ($key !== 'id') { // passa os dados do objeto para o SQL $sql->setRowData($key, $this->{$key}); } } } // obtém transação ativa if ($conn = TTransaction::get()) { // faz o log e executa o SQL TTransaction::log($sql->getInstruction()); $result = $conn->exec($sql->getInstruction()); // retorna o resultado return $result; } else { // se não tiver transação, retorna uma exceção throw new Exception('Não há transação ativa!!'); } }
/** * Store the objects into the database * @return The number of affected rows * @exception Exception if there's no active transaction opened */ public function store() { // get the Active Record class name $class = get_class($this); // check if the object has an ID or exists in the database $pk = $this->getPrimaryKey(); if (empty($this->data[$pk]) or !self::load($this->{$pk})) { // increments the ID if (empty($this->data[$pk])) { if (defined("{$class}::IDPOLICY") and constant("{$class}::IDPOLICY") == 'serial') { unset($this->{$pk}); } else { $this->{$pk} = $this->getLast() + 1; } } // creates an INSERT instruction $sql = new TSqlInsert(); $sql->setEntity($this->getEntity()); // iterate the object data foreach ($this->data as $key => $value) { // check if the field is a calculated one if (!method_exists($this, 'get_' . $key)) { if (count($this->attributes) > 0) { // set just attributes defined by the addAttribute() if (in_array($key, $this->attributes) or $key == $pk) { // pass the object data to the SQL $sql->setRowData($key, $this->{$key}); } } else { // pass the object data to the SQL $sql->setRowData($key, $this->{$key}); } } } } else { // creates an UPDATE instruction $sql = new TSqlUpdate(); $sql->setEntity($this->getEntity()); // creates a select criteria based on the ID $criteria = new TCriteria(); $criteria->add(new TFilter($pk, '=', $this->{$pk})); $sql->setCriteria($criteria); // interate the object data foreach ($this->data as $key => $value) { if ($key !== $pk) { // check if the field is a calculated one if (!method_exists($this, 'get_' . $key)) { if (count($this->attributes) > 0) { // set just attributes defined by the addAttribute() if (in_array($key, $this->attributes) or $key == $pk) { // pass the object data to the SQL $sql->setRowData($key, $this->{$key}); } } else { // pass the object data to the SQL $sql->setRowData($key, $this->{$key}); } } } } } // get the connection of the active transaction if ($conn = TTransaction::get()) { // register the operation in the LOG file // (if the user has registered a TLogger) TTransaction::log($sql->getInstruction()); $result = $conn->exec($sql->getInstruction()); if (defined("{$class}::IDPOLICY") and constant("{$class}::IDPOLICY") == 'serial') { if ($sql instanceof TSqlInsert) { $this->{$pk} = $conn->lastInsertId($this->getSequenceName()); } } // return the result of the exec() method return $result; } else { // if there's no active transaction opened throw new Exception(TAdiantiCoreTranslator::translate('No active transactions') . ': ' . __METHOD__ . ' ' . $this->getEntity()); } }
// atribui o valor de cada coluna $sql->setRowData('codigo', 8); $sql->setRowData('nome', 'Galileu'); // obtém a conexão ativa $conn = TTransaction::get(); // executa a instrução SQL $result = $conn->Query($sql->getInstruction()); // cria uma instrução de UPDATE $sql = new TSqlUpdate(); // define o nome da entidade $sql->setEntity('famosos'); // atribui o valor de cada coluna $sql->setRowData('nome', 'Galileu Galilei'); // cria critério de seleção de dados $criteria = new TCriteria(); // obtém a pessoa de código "8" $criteria->add(new TFilter('codigo', '=', '8')); // atribui o critério de seleção de dados $sql->setCriteria($criteria); // obtém a conexão ativa $conn = TTransaction::get(); // executa a instrução SQL $result = $conn->Query($sql->getInstruction()); // fecha a transação, aplicando todas operações TTransaction::close(); } catch (Exception $e) { // exibe a mensagem de erro echo $e->getMessage(); // desfaz operações realizadas durante a transação TTransaction::rollback(); }
/** * Método store * Armazena o objeto na base de dados e retorn o número de linhas afetadas pela instrução SQL (0 ou 1) * * @access public * @throws Exception Não há transação ativa * @return int Numero de linhas afetadas pela instrução SQL */ public function store() { if (empty($this->codigo) or !$this->load($this->codigo)) { // cria instrução SQL $sql = new TSqlInsert(); $sql->addEntity($this->getEntity()); // percorre dados do objeto foreach ($this->getVars() as $key => $value) { // passa os dados do objeto para o SQL $sql->setRowData($key, $this->{$key}); } } else { // cria instrução UPDATE $sql = new TSqlUpdate(); $sql->addEntity($this->getEntity()); $criteria = new TCriteria(); $criteria->addFilter('codigo', ' = ', $this->codigo); $sql->setCriteria($criteria); // percorre dados do objeto foreach ($this->getVars() as $key => $value) { if ($key !== 'codigo') { // passa os dados do objeto para o SQL $sql->setRowData($key, $this->{$key}); } } } //RECUPERA CONEXAO BANCO DE DADOS TTransaction::open('my_bd_site'); //echo $sql->getInstruction(); if ($conn = TTransaction::get()) { $result = $conn->exec($sql->getInstruction()); TTransaction::close(); return $result; } else { throw new Exception('Não há transação ativa'); } }
//Criar uma instacia de INSERT $sql = new TSqlInsert(); //definir o nome da entidade $sql->setEntity(' famoso '); //Atribuir o valor de cada Coluna $sql->setRowData(' codigo ', 8); $sql->setRowData(' nome ', ' Galileu '); //Obter Conexão activa $conn = TTransaction::get(); //Executar instrução SQL $result = $conn->Query($sql->getInstruction()); //Criar uma Instrução UPDATE $sql = new TSqlUpdate(); $sql->setEntity(' famoso '); $sql->setRowData(' nome ', ' Galileu Galileu '); //Atribuir Criteria de Seleção de dados $Criteria = new TCriteria(); $Criteria->add(new TFilter(' codigo ', ' = ', ' 8 ')); //Atribuir criterio de seleção de dados $sql->setCriteria($Criteria); //Obter conexão activa $conn = TTransaction::get(); //Executar a Instrição $result = $conn->Query($sql->getInstruction()); TTransaction::close(); } catch (Exception $e) { //Exibe a mensagem de erro echo $e->getMessage(); //Dezfaz operações realizadas durante a transação TTransaction::rollback(); }
private function udapteExperiencia() { try { //Inicia Transação com banco de dados TTransaction2::open('my_bd_site'); //Cria instrução INSERT $sql = new TSqlUpdate(); //Define entidade $sql->setEntity('curriculumexperiencia'); //Cria um critério de seleção pelo ID $criteria = new TCriteria(); $criteria->add(new TFilter('codigo', '=', $this->codigo)); $sql->setCriteria($criteria); //Atribui o valor a cada coluna $sql->setRowData('cargo', $this->experienciaCargo); $sql->setRowData('empresa', $this->experienciaEmpresa); $sql->setRowData('cidade', $this->experienciaCidade); $sql->setRowData('estado', $this->experienciaEstado); $sql->setRowData('telefone', $this->experienciaTelefone); $sql->setRowData('entrada', $this->experienciaEntrada); $sql->setRowData('saida', $this->experienciaSaida); $sql->setRowData('empregoAtual', $this->experienciaAtual); //Obtem a conexão ativa $conn = TTransaction2::get(); //Executa Instrução SQL $result = $conn->Query($sql->getInstruction()); TTransaction2::close(); return true; } catch (Exception $e) { return false; } }