Lançado Adianti Framework 7.6!
Clique aqui para saber mais
DbSeekbutton + criteria + Sql Server Boa noite pessoal. Estou utilizando um DbSeekbuton com criteria. Conectando o mesmo no mysql funcionava correta, agora que mudei pro banco sql server o mesmo me retorna mensagem: Erro SQLSTATE[42S22]: [Microsoft][ODBC Driver 11 for SQL Server][SQL Server]Invalid column name 'id'. Não possuo nenhum campo ID no mesmo. Estranho que os outros DbSeekbutton que nao possuem criteria funcionam corret...
AR
DbSeekbutton + criteria + Sql Server  
Fechado
Boa noite pessoal.
Estou utilizando um DbSeekbuton com criteria. Conectando o mesmo no mysql funcionava correta, agora que mudei pro banco sql server o mesmo me retorna mensagem:
Erro SQLSTATE[42S22]: [Microsoft][ODBC Driver 11 for SQL Server][SQL Server]Invalid column name 'id'.
Não possuo nenhum campo ID no mesmo.
Estranho que os outros DbSeekbutton que nao possuem criteria funcionam corretamente.
  1. <?php
  2.         $critfunc = new TCriteria;
  3.         $critfunc->add(new TFilter('id_cliente''='TSession::getValue('id_cliente')));
  4.         
  5.         1612_funcionario      = new  ">TDBSeekButton('id_funcionario''permission''form_System_user'h'Funcionario''nm_funcionario''id_funcionario''nome_funcionario'$critfunc);
  6.         $nome_funcionario    = new TEntry('nome_funcionario');
  7. ?>

Pacotão Dominando o Adianti Framework 7
O material mais completo de treinamento do Framework.
Curso em vídeo aulas + Livro completo + Códigos fontes do projeto ERPHouse.
Conteúdo Atualizado! Versão 7.4


Dominando o Adianti 7 Quero me inscrever agora!

Comentários (2)


FC

Tem o drive SQL server cliente onde VC está rodando a aplicação?
AR

Opa Felipe tudo certo?
Cara descobri o problema, e na verdade acho que é um bug. Quando não passo um criteria no componente, ele funciona corretamente, porém quando é passado, ele da esse retorno.
Na verdade ele esta tentando ordernar por um campo que não existe, no caso o ID. Esse comportamento não é o mesmo por exemplo no banco MySql.
A solução foi passar o campo de ordenação para o critério.

  1. <?php
  2.         $crit = new TCriteria;
  3.         $crit->add(new TFilter('id_cliente''='TSession::getValue('id_cliente')));
  4.         $param = array();        
  5.         $param['order'] = 'id_funcionario';
  6.         $crit->setProperties($param);
  7.         
  8.         $id_funcionario                      = new  ">TDBSeekButton('id_funcionario''permission''form_FuncionarioCargos''Funcionario''nm_funcionario''id_funcionario''nome_funcionario'$crit);
  9.         $nome_funcionario                    = new TEntry('nome_funcionario');
  10. ?>