[RESOLVIDO] Select dá erro se depender de outro select com opção valor negativo.

Pessoal boa tarde, estou tentando fazer com que um campo select(2) retorne registros dependentes do campo select anterior (1).

Eu coloquei no campo select 1 para buscar os registros e configurei o valor negativo “0” com a opção “SELECIONE”. Marquei a opção do AJAX on change para recarregar o campo select 2.

O problema é que, ao carregar o formulário, o mesmo já exibe um erro dizendo que tem erro na consulta. Mas isso acontece por causa do campo negativo. Se eu clicar no select 1 e alterar o valor, a tela de ajax aparece, mas o campo select 2 já não é exibido, pois deu o aviso de erro.
Caso eu desmarque a opção de ajax do select 1 e marque a opção para recarregar formulário, ao executar a aplicação o select 2 também avisa do erro, mas ao recarregar pela opção do select 1 o erro some e o select 2 retorna com os registros.

Exemplo do Select 2 colocado no scriptcase:

SELECT id_usuario, nom_usuario FROM usuario WHERE id_tpususario <> 2 AND id_departamento = {id_departamento} ORDER BY nom_usuario

Erro no Ajax:

Erro ao acessar o banco de dados ERRO: erro de sintaxe em ou próximo a "ORDER"LINE 6: ORDER BY nom_departamento ^ View SQL SELECT id_usuario, nom_usuario FROM usuario WHERE id_tpusuario <> 2AND id_departamento = ORDER BY nom_usuario

Alguém já encontrou o mesmo problema? Gostaria que o sistema fizesse pelo AJAX mas com o valor negativo no select 1…

Bom dia Flávio: Vc selecionou a opção “Usar Ajax para recarregar outros campos do tipo Select, Duplo Select, Radio e Checkbox.”?

Justamente isso. Use essa opção apontando para o campo que queira ser recarregado.

Olá pessoal, eu realmente havia feito isso, marquei no select 1 a opção

"Usar Ajax para recarregar outros campos do tipo Select, Duplo Select, Radio e Checkbox."
e selecionei na caixa abaixo o campo select 2.
Vocês estão conseguindo utilizar esse método normalmente?

Sim, normalmente! Sugiro que coloque um passo a passo de como esta fazendo para que possamos ajudar com mais firmeza.

Proteja o valor

SELECT id_usuario, nom_usuario
FROM usuario
WHERE id_tpususario <> 2
AND id_departamento = ‘{id_departamento}’
ORDER BY nom_usuario

Pessoal, não sei se isso influencia, mas estou utilizando o projeto com conexão ao PostgreSQL, mas vamos lá. Abaixo mostro os passos que utilizei:
1ª No select1 (id_dependencia), faço meu lookup automático marcando usar Título/Negação conforme print:

2ª No select2 (id_setor), utilizo o select buscando uma comparação do campo id_dependencia do banco de dados = id_dependencia do formulário:

3ª Ao executar o formulário, o mesmo já aparece exibindo a mensagem de erro:

O campo id_dependencia neste formulário é manual que eu criei… não vem desta tabela na qual faço o formulário está vinculado… isto tem algo a ver?
Como podem ver, este modelo está com o valor “protegido” mas não influenciou em nada, se eu tirar o “’” ele simplesmente exibe o mesmo erro.

Minha única alternativa foi no evento onLoad eu verificar o id_dependencia == 0 eu desabilitar ou habilitar o campo {id_setor}, fazendo com que o select do id_dependencia fique com a opção “Recarregar formulário após alteração do valor”. Com isso o formulário funciona, mas não queria que o mesmo ficasse recarregando na tela, já que o próprio scriptcase tem essa opção de Ajax.

qual o banco de dados?

PostgreSQL

vishh dai é rolo.

e convert to int? não da? P.D não sei como é no Postgres

estranho… o problema não é o convert em si, é que o campo não aceita o de cima como passagem de parâmetro… por isso reluto em pensar que é problema do banco, pois se o valor negativo “0” estivesse sendo aceito pelo formulário, o banco retornaria normalmamente…

Tire as aspas simples na comparação, o PostgreSQL não aceita delimitar campos inteiros com aspas.

Nota pode vir vazio que está sendo seu caso.
Veja tipo do campo sc se está como int.

Haroldo, o meu select está por padrão sem aspas, mas a fim de testes eu coloquei no exemplo…
Baseado na sua observação quanto a vir vazio, efetuei um teste e coloquei um valor inicial no campo {id_dependencia}. Selecionei valor definido e 0 como o Valor Inicial, e o erro não apareceu mais.
Acredito que o Scriptcase não esteja entendendo que o campo com opção de valor negativo deve ser iniciado junto da aplicação e o select.
A princípio o caso foi resolvido. Agradeço a todos pela ajuda!