【问题标题】:Java Prepared Statement Parameters in SELECT Clause [duplicate]SELECT 子句中的 Java 准备语句参数 [重复]
【发布时间】:2016-02-12 07:59:47
【问题描述】:

是否可以在 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 中执行不带问号的查询时,它工作正常。

【问题讨论】:

    标签: java sql jdbc prepared-statement


    【解决方案1】:

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

    【讨论】:

    • 好的,谢谢。问题是使用“正常”语句的应用程序真的很慢。您有什么建议可以加快速度吗?
    猜你喜欢
    • 2015-08-25
    • 2018-07-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-22
    • 2021-06-20
    • 1970-01-01
    相关资源
    最近更新 更多