首页 >Java >java教程 >为什么不能在 SQL 中对表名使用预准备语句参数?

为什么不能在 SQL 中对表名使用预准备语句参数?

Linda Hamilton
Linda Hamilton原创
2024-12-11 10:10:18180浏览

Why Can't I Use Prepared Statement Parameters for Table Names in SQL?

Prepared Statement Parameter Issue with Table Name

在尝试动态设置数据检索的表名称时,遇到错误准备好的语句执行。此错误的原因在于使用了需要表名的参数。

提供的示例代码采用了带有参数占位符“?”的准备好的语句。并尝试为其分配一个值,表示表名。但是,这是不允许的,因为不能通过参数动态指定表名。它们必须在查询本身中显式定义。

解决方案

要解决此问题,请将表名称直接硬编码到查询字符串中,如下所示:

private String query1 = "SELECT plantID, edrman, plant, vaxnode FROM [" + reportDate + "]"?";

此修改可确保查询中正确定义表名,并且可以成功执行而不会出现上述错误。

以上是为什么不能在 SQL 中对表名使用预准备语句参数?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn