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; } }
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['id']) or !$this->load($this->id)) { if (empty($this->data['id'])) { $this->id = $this->getLast() + 1; } // cria instrução SQL $sql = new TSqlInsert(); $sql->setEntity($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->setEntity($this->getEntity()); $criteria = new TCriteria(); $criteria->add(new TFilter('id', ' = ', $this->id)); $sql->setCriteria($criteria); // percorre 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}); } } } if ($conn = TTransaction::get()) { TTransaction::log($sql->getInstruction()); $result = $conn->exec($sql->getInstruction()); return $result; } else { throw new Exception('Não há transação ativa'); } }
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()); } }
TTransaction::open('pg_livro'); // cria uma instrução de INSERT $sql = new TSqlInsert(); // define o nome da entidade $sql->setEntity('famosos'); // 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) {
<?php /* * função __autoload() * Carrega uma classe quando ela é necessária, ou seja, quando ela é instancia pela primeira vez. */ function __autoload($classe) { if (file_exists("app.ado/{$classe}.class.php")) { include_once "app.ado/{$classe}.class.php"; } } // cria critério de seleção de dados $criteria = new TCriteria(); $criteria->add(new TFilter('id', '=', '3')); // cria instrução de UPDATE $sql = new TSqlUpdate(); // define a entidade $sql->setEntity('aluno'); // atribui o valor de cada coluna $sql->setRowData('nome', 'Pedro Cardoso da Silva'); $sql->setRowData('rua', 'Machado de Assis'); $sql->setRowData('fone', '(88) 5555'); // define o critério de seleção de dados $sql->setCriteria($criteria); // processa a instrução SQL echo $sql->getInstruction(); echo "<br>\n";
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; } }