SELECT子句中的Java Prepared语句参数

时间:2016-02-12 07:59:47

标签: java sql jdbc prepared-statement

是否可以在Java中的预准备语句中的SELECT子句中设置参数?像这样:

PreparedStatement prepStat = conn.prepareStatement("SELECT DISTINCT ? 'Typ' FROM employee");

    prepStat.setString(1, typ);
    ResultSet rs = prepStat.executeQuery();

    while (rs.next())
    {
        String strFilter = rs.getString("Typ");
        System.out.println("strFilter: "+strFilter);
    }

当我执行这些行时,我只获取列的标题而不是值。当我在SQL Server中执行没有问号的查询时,它可以正常工作。

1 个答案:

答案 0 :(得分:0)

绑定变量只能用于绑定,而不能用于绑定语法结构或对象名称。您绑定的值被解释为字符串文字,并且由于文字只有一个值,因此对其应用distinct将返回一行。