使用预准备语句获取数据

时间:2012-09-17 08:50:48

标签: java sql jdbc prepared-statement

这是我的查询

select id,name,address from emp_details where gender = ?

输入:女性,男性

通常我只需要获取女性数据或仅获取男性数据 但有时我需要使用相同的查询来获取女性和男性数据..

有可能吗?如果是这样,怎么样?

5 个答案:

答案 0 :(得分:2)

只是反转查询:

select id,name,address from emp_details where gender <> ?

并指定“男性”用于获取女性,“女性”用于获取男性,以及“无论什么”获得两者。

答案 1 :(得分:1)

使用相同的查询,不,这是不可能的。使用不带任何where子句的查询来执行此操作:

select id,name,address from emp_details

答案 2 :(得分:1)

使用条款

where gender in ?

和参数一个字符串数组

new String[]{"m","f"}

答案 3 :(得分:1)

SELECT id , name , address
FROM emp_details 
WHERE gender IN (?,?);

仅限女性男性=&gt;为两者设定?相同的值

PreparedStatement IN clause alternatives?

答案 4 :(得分:1)

    String gender="Female ";

    String sql = "select id,name,address from emp_details";

    if(gender!=null && !"".equals(gender))

     {      
        sql+=" where gender = ?";

     }