2012-03-02 4 views
2

데이터베이스에서 보고서를 생성해야하는 시스템에서 작업하고 있습니다. 날짜 추가 및 날짜 인해 데이터를 표시하려면 데이터베이스 쿼리를 시도했습니다. 문제는 데이터가 보고서에 표시되지 않는다는 것입니다.< and > xml의 기호

params.put("dopened", dopen.getDate().toString()); 
    params.put("dended", dend.getDate().toString()); 

스피가를 사용하여 다음과 같이 내가 제대로 매개 변수에 해당 된 .java 파일에 "dopened"와 "deneded"를 선언 한

<parameter name="dopened" class="java.lang.String"/> 
    <parameter name="dended" class="java.lang.String"/> 
    <queryString> 
    <![CDATA[SELECT * FROM CASES WHERE date_due < $P{dended} ORDER BY case_no]]> 
    </queryString>* 

: 쿼리는은 .jrxml 파일에 다음과 같습니다 날짜 선택기를 사용하여 날짜를 선택하십시오. 내가 무엇을 놓칠 지 지적 해 주실 수 있도록 도와주세요. 감사합니다

+0

교체 시도'<''<'와 CDATA 섹션 –

+1

내부 CDATA 특수 문자를 제거하기가 정상 문자열을 행동으로, 그래서 필요'>'중 하나를 사용하지 않으려면'<'또는 아스키 코드입니다. 괜찮아. 문제는 아마 다른 곳에있을 것이다. – Nishant

답변

2

브래킷 대신 &gt;&lt;을 사용해 봤습니까?

+0

이것들은'>'와'<'(스택 오버 플로우 편집 규칙에도 불구하고) 일 필요가 있음에 유의하십시오. – Taymon

+0

< and > 태그는 태그에 있기 때문에 문제가되지 않습니다. 문제는 SQL 문이 결과를 반환하지 않는다는 것입니다. –

0

jasperreports 또는 유사한 해결책을 사용하고 있습니다.

쿼리는 Date 개체를 예상하는 날짜 비교가있는 "where"절을 보여줍니다. "dended"매개 변수는 문자열입니다. dend.getDate(). toString()로 "dended"를 변환하고 있지만 데이터베이스는 반드시 다른 날짜 형식 (yy/mm/dd와 yyyy-mm-dd)을 기대합니다.

해결 방법 : 매개 변수를 java.util.Date 또는 java.sql.Date로 변경하고 변환을 생략하십시오.

관련 문제