Lançado Adianti Framework 7.6!
Clique aqui para saber mais
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.             
  14.             704 = new  TEntry('id');
  15.             $nome = new TEntry('nome');
  16.             
  17.             704->setSize(10);
  18.             $nome->setSize(100);
  19.             704->setEditable(FALSE);
  20.             
  21.             $row=$table->addRow();
  22.             $row->addCell(new TLabel('Código'));
  23.             $row->addCell(704);
  24.             
  25.             $row=$table->addRow();
  26.             $row->addCell(new TLabel('Razão Social'));
  27.             $row->addCell($nome);
  28.             
  29.             $save_button = new TButton('save');
  30.             $save_button->setAction(new TAction(array($this,'onSave')), 'Salvar');
  31.             $save_button->setImage('ico_save.png');
  32.             
  33.             $new_button = new TButton('new');
  34.             $new_button->setAction(new TAction(array($this,'onEdit')), 'Novo');
  35.             $new_button->setImage('ico_new.png');
  36.             
  37.             $goto_button = new TButton('list');
  38.             $goto_button->setAction(new TAction(array('RelacaoFornecedor','onReload')), 'listing');
  39.             $goto_button->setImage('ico_datagrid.gif');
  40.             
  41.             $table_buttons = new TTable();
  42.             $row=$table_buttons->addRow();
  43.             $row->addCell($save_button);
  44.             $row->addCell($new_button);
  45.             $row->addCell($goto_button);
  46.             
  47.             $row=$table->addRow();
  48.             $cell=$row->addCell($table_buttons);
  49.             $cell->colspan=2;
  50.             
  51.             $this->form->setFields(array(704,$nome,$save_button,$new_button,$goto_button));
  52.             
  53.             parent::add($this->form);
  54.         }
  55.         catch (Exception $e)
  56.         {
  57.             new TMessage('error'$e->getMessage());
  58.         }
  59.     }
  60. }
  61. ?>

Curso completo Meu Negócio Pronto
Use para si, ou transforme em um negócio: Inclui aulas e códigos-fontes
Gestor de conteúdo (SITE) + Loja Virtual (E-Commerce) + Emissor de Notas para infoprodutos


Meu negócio pronto 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