Erro de acesso a base de dados Criei um banco no sqlite3 loja.db, o arquivo ini loja.ini, criei uma tabela fornecedores e criei um control Fornecedores.class.php e um model Fornecedores.class.php, recebo uma mensagem de impossibilidade de conexão com a base de dados. Contudo acesso ela através de um browser sqlite código do model ...
PC
Erro de acesso a base de dados  
Fechado
Criei um banco no sqlite3 loja.db, o arquivo ini loja.ini, criei uma tabela fornecedores e criei um control Fornecedores.class.php e um model Fornecedores.class.php, recebo uma mensagem de impossibilidade de conexão com a base de dados. Contudo acesso ela através de um browser sqlite

código do model
 
  1. <?php
  2. class Fornecedores extends TRecord
  3. {
  4. const TABLENAME= 'fornecedores';
  5. const PRIMARYKEY= 'id';
  6. const IDPOLICY= 'max';
  7. }
  8. ?>


código do controle
 
  1. <?php
  2. class Fornecedores extends TPage
  3. {
  4. private $form;
  5. function __construct()
  6. {
  7. parent::__construct();
  8. try
  9. {
  10. $this->form = new TForm('form_fornecedor');
  11. $table = new TTable();
  12. $this->form->add($table);
  13. 704 = new TEntry('id');
  14. $nome = new TEntry('nome');
  15. 704->setSize(10);
  16. $nome->setSize(100);
  17. 704->setEditable(FALSE);
  18. $row=$table->addRow();
  19. $row->addCell(new TLabel('Código'));
  20. $row->addCell(704);
  21. $row=$table->addRow();
  22. $row->addCell(new TLabel('Razão Social'));
  23. $row->addCell($nome);
  24. $save_button = new TButton('save');
  25. $save_button->setAction(new TAction(array($this,'onSave')), 'Salvar');
  26. $save_button->setImage('ico_save.png');
  27. $new_button = new TButton('new');
  28. $new_button->setAction(new TAction(array($this,'onEdit')), 'Novo');
  29. $new_button->setImage('ico_new.png');
  30. $goto_button = new TButton('list');
  31. $goto_button->setAction(new TAction(array('RelacaoFornecedor','onReload')), 'listing');
  32. $goto_button->setImage('ico_datagrid.gif');
  33. $table_buttons = new TTable();
  34. $row=$table_buttons->addRow();
  35. $row->addCell($save_button);
  36. $row->addCell($new_button);
  37. $row->addCell($goto_button);
  38. $row=$table->addRow();
  39. $cell=$row->addCell($table_buttons);
  40. $cell->colspan=2;
  41. $this->form->setFields(array(704,$nome,$save_button,$new_button,$goto_button));
  42. parent::add($this->form);
  43. }
  44. catch (Exception $e)
  45. {
  46. new TMessage('error', $e->getMessage());
  47. }
  48. }
  49. }
  50. ?>

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 (1)


PD

Paulo,

A Control não deve ter o mesmo nome da model.
Você deve chamar por exemplo "FornecedoresForm extends TPage"
Caso contrário, o mecanismo de carga de classes do framework não encontrará a classe correta.
O conteúdo de seu método construtor não precisa estar em um try/catch, já que você não realiza nenhuma operação de BD, que possa lançar uma exceção.

Por fim, você não abriu nenhuma transação, e também não declarou o método onSave().

att,
Pablo