JSTL: Query com parametros inteiros

Oi pessoal estou tendo um problema com JSTL ao fazer uma Query passando parametros que são no banco inteiros.

O Código (so as partes necessarias):


<%
        String action = request.getParameter("action");
	request.setAttribute("action", action );     
	
	String idworkflow = request.getParameter("idworkflow");
	request.setAttribute("idworkflow", idworkflow );
%>

<c:set  var="action" scope="session" value="${action}" />
<c:set var="idworkflow" scope="session" value="${idworkflow}" />

<!-- Dados da Solicitação -->
	<sql:query var="ResultadoHoraExtra" dataSource="${ds}">
		select * from HORAEXTRA 
		where HORAEXTRA.IDACTION = to_number(?) and HORAEXTRA.IDWORKFLOW = to_numer(?)
		<sql:param  value="${action}" />
		<sql:param  value="${idworkflow}"/>	
	</sql:query>

Já tentei com to_number sem ele, e da este erro: ORA-00904: nome inválido de coluna
Algum conselho?

Boa tarde, vc disse que está com problemas em parâmetro com inteiros no tópico mas me parece
que a mensagem de erro diz outra coisa.
Já tentou verificar a linha 18:

“18. <sql:param value=”${idWorkflow}"/>"

idWorkflow

o correto não seria idworkflow ?
o W está maiúsculo.

Obrigado, acabei de corrigir o W, porem o erro persiste e quando eu coloco no lugar do parametros um 1 o código roda de boa, alguma outra sugestão?

Qual base de dados vc usa?

Uso Oracle 9i

Não sei como seria a passagem de parâmetros para o Oracle mas já vi problemas em que a passagem de parâmetros tinha que ser com o valor Quoted. Já tentou?

Sim coloquei entre aspas simples e nada, logo com aspas duplas e nada; é algo bem estranho mesmo, sera que com JSTL tem q fazer algo especifico?

por enquanto meus conhecimentos são limitados se descobrir algo que ajude eu posto…
logo logo alguém vai postar. boa sorte.

[quote=Zuela]Oi pessoal estou tendo um problema com JSTL …
Algum conselho?[/quote]

Não utilize estas Tags SQL da JSTL… Utilize apenas as Tags Core (<c:out><c:set><c:if>etc ) e as Tags de Formação (fmt:messagefmt:bundleetc).
Estas tags SQL quase não são utilizadas, pois são substituidas por padrões como DAO+MVC.

tua linha 16 tabém tá errada:

   where HORAEXTRA.IDACTION = to_number(?) and HORAEXTRA.IDWORKFLOW = to_numer(?)   

verifique em to_numer(?)
vê ai depois posta a resposta :slight_smile: