erro: No active transactions tentei listar uma tabela, e tambem tentei atraves do form da a mesma mensagem quando start a transacao No active transactions o .ini ta ok, estou tentando com mysql salus.ini host =127.0.0.1 name =bdsalus user =root pass = type =mysql script ...
HL
erro: No active transactions  
Fechado
tentei listar uma tabela, e tambem tentei atraves do form da a mesma mensagem quando start a transacao
No active transactions
o .ini ta ok, estou tentando com mysql

salus.ini
host =127.0.0.1 name =bdsalus user =root pass = type =mysql


script
 
  1. <?php
  2. try
  3. {
  4. TTransaction::open('salus');
  5. $conn = TTransaction::get(); // get PDO connection
  6. // run query
  7. $result = $conn->query('SELECT * from cdusuarior ');
  8. // show results
  9. foreach ($result as $row)
  10. {
  11. print $row['us_id'] . '-';
  12. print $row['us_nome'] . "<br>\\n";
  13. }
  14. TTransaction::close(); // close transaction
  15. }
  16. catch (Exception $e)
  17. {
  18. new TMessage('error', $e->getMessage());
  19. }
  20. ?>

Curso Dominando o Adianti Framework

O material mais completo de treinamento do Framework.
Curso em vídeo aulas + Livro completo + Códigos fontes do projeto ERPHouse.
Conteúdo Atualizado!


Dominando o Adianti Framework Quero me inscrever agora!

Comentários (5)


PD

Oi Helder,

Logo após dar um TTransaction::get(), dê um var_dump na variável $conn, vamos analisar seu conteúdo. Este é o código completo ou tem mais alguma coisa?
HL

coloquei o var_dump ($conn);
mas não chegaa executar informa logo a mensagem no active transactions
codigo completo

 
  1. <?php
  2. /**
  3. * StandardFormDataGridView
  4. *
  5. * @version 1.0
  6. * @package samples
  7. * @subpackage tutor
  8. * @author Pablo Dall'Oglio
  9. * @copyright Copyright (c) 2006-2011 Adianti Solutions Ltd. (http://www.adianti.com.br)
  10. * @license http://www.adianti.com.br/framework-license
  11. */
  12. class cdprofissional extends TStandardFormList
  13. {
  14. protected $form; // formulário de cadastro
  15. protected $datagrid; // listagem
  16. protected $loaded;
  17. protected $pageNavigation; // pagination component
  18. /**
  19. * Class constructor
  20. * Creates the page, the form and the listing
  21. */
  22. public function __construct()
  23. {
  24. parent::__construct();
  25. try
  26. {
  27. TTransaction::open('salus');
  28. $conn = TTransaction::get(); // get PDO connection
  29. print var_dump ($conn);
  30. // run query
  31. $result = $conn->query('SELECT * from cdusuario ');
  32. // show results
  33. foreach ($result as $row)
  34. {
  35. print $row['us_id'] . '-';
  36. print $row['us_nome'] . "<br>\\n";
  37. }
  38. TTransaction::close(); // close transaction
  39. }
  40. catch (Exception $e)
  41. {
  42. new TMessage('error', $e->getMessage());
  43. }
  44. }
  45. }
  46. ?>
PD

Helder,

O erro é que você está estendendo TStandardFormList. Essa classe já tem um comportamento pré-definido, como você poderá ler no livro. Estenda TPage para a maioria dos casos.

um abraço,
Pablo
AV

Olá Pablo!

Estou com o seguinte erro: error could not find driver.
Segue código:
 
  1. <?php
  2. class ListUser extends TPage
  3. {
  4. public function __construct()
  5. {
  6. parent::__construct();
  7. try
  8. {
  9. TTransaction::open('samples'); // open transaction
  10. $conn = TTransaction::get(); // get PDO connection
  11. print var_dump ($conn);
  12. // run query
  13. $result = $conn->query('SELECT id, name from user order by id');
  14. // show results
  15. foreach ($result as $row)
  16. {
  17. print $row['id'] . '-';
  18. print $row['name'] . "<br>\n";
  19. }
  20. TTransaction::close(); // close transaction
  21. }
  22. catch (Exception $e)
  23. {
  24. new TMessage('error', $e->getMessage());
  25. }
  26. }
  27. }
  28. ?>
PD

Oi Aldriano,

Dentro do "samples.ini" você deve ter especificado o parâmetro type, que indica qual driver de banco é usado para a conexão. O que deve ter acontecido é que o seu PHP não deve estar com o suporte habilitado para aquele tipo de banco de dados (veja o php.ini). No windows, basta remover os ";" da frente das DLL's.

abraço,
Pablo