2012-02-28 13 views
1

여러 사용자 입력을 기반으로 특정 값 집합을 데이터베이스에서 검색하기위한 코드를 작성해야합니다. 최대 사용자는 5 개의 검색 기준을 입력 할 수 있으며 1 또는 2 또는 3이 아닐 수도 있습니다.JDBC를 사용하는 여러 검색 조건

어떻게해야합니까? 준비된 진술서가 나를 도울 수 있습니까?

데이터베이스로 MS Access를 사용 중입니다.

답변

0

간단한 해결책은 where 하위 절을 작성하고 userinput을 사용하여 paraList를 유지 관리하는 것입니다.

당신은 5 개의 기준 a, b, c, d, e를가집니다.

프로그램에 A가 입력되어 있는지 확인하고, 예 (있는 경우)를 추가하여 (Like 또는 = 일 수 있음) 입력 값을 List (paraList)에 추가하십시오.

마지막에 builtlined 하위 절을 preparedStatement와 연결하고 매개 변수를 paraList로 설정합니다.

0

당신이

도움 스캔 (데이터 범위 같은)

SELECT field1, field2 
FROM MY_TABLE 
WHERE DATE_FIELD BETWEEN :P_DATE1 AND :P_DATE2) 
AND (:P_FIELD1 IS NULL OR FIELD1 = :P_FIELD1) 
AND (:P_FIELD2 IS NULL OR FIELD2 LIKE :P_FIELD2) 

이 희망을 제한하기 위해 필요한 필드를 사용하는 나는 당신을 추천 NamedParameterStatement

SELECT field1, field2 
FROM MY_TABLE 
WHERE (:P_FIELD1 IS NULL OR FIELD1 = :P_FIELD1) 
AND (:P_FIELD2 IS NULL OR FIELD2 LIKE :P_FIELD2) 

사용하여이 같은 것을 쓸 수 있습니다