当前位置: 首页 > 面试题库 >

JDBC PreparedStatements中的高级参数化

景俊良
2023-03-14
问题内容

无论如何,要对PreparedStatement中的表进行参数化吗?

select * from ? where id=?

如果没有,那么这样做的最佳方法是什么,或者在不丧失PreparedStatement的优点的情况下还有其他方法吗?

谢谢。


问题答案:

简短的答案是您 不能 在准备好的语句中参数化表名。您必须使用字符串连接来构造sql。基本准备的语句用于列值,而不用于表名。

我能想到的最好的方法是这样使用string.format

String sql = String.format("select * from $1%s",  yourtable);


 类似资料:
  • 通常没有必要改变这个对话框的设置,而且允许 WinRAR 自动选择优化参数是安全的。请注意不正确的使用这个对话框可能导致非常严重的运行和压缩损失,所以只有在您清楚您所作的时候,才能改变它的参数。 下面的这些设置大部分仅被 RAR 4.x 压缩格式支持。这些设置都不可用于 ZIP。只有 delta 压缩和 32 为可执行压缩可用于 RAR 5.0 压缩文件。 这个对话框包含下列选项。 文本压缩/(自

  • 我们在OpenGL中大量使用缓冲来储存数据已经有很长时间了。操作缓冲其实还有更有意思的方式,而且使用纹理将大量数据传入着色器也有更有趣的方法。这一节中,我们将讨论一些更有意思的缓冲函数,以及我们该如何使用纹理对象来储存大量的数据(纹理的部分还没有完成)。 OpenGL中的缓冲只是一个管理特定内存块的对象,没有其它更多的功能了。在我们将它绑定到一个缓冲目标(Buffer Target)时,我们才赋予

  • 上下文与 wantarray Perl 有三种上下文:空、标量、以及列表。 func(); # void my $ret = func(); # scalar my ($ret) = func(); # list my @ret = func(); # list 如果你在子例程或 eval 块中,你能够使用 wantarray 来决定想要的上下文。 以下是处理正则

  • 最后让我们讨论一些有关函数和闭包的高级功能:函数指针、发散函数和返回值闭包。 我们讨论过了如何向函数传递闭包;也可以向函数传递常规函数!这在我们希望传递已经定义的函数而不是重新定义闭包作为参数是很有用。通过函数指针允许我们使用函数作为另一个函数的参数。函数的类型是 ,使用小写的 “f” 以便不与 Fn 闭包 trait 向混淆。fn 被称为函数指针(function pointer)。指定参数为函

  • 问题内容: 我有2个型号 我需要找到所有与“ Joe”和“ Jack”同时为好友的用户 任何想法我怎么能做到这一点? 问题答案: 一种选择是将每个名称作为各个INNER JOINS的参数。在SQL中将是这样的: 由于它是INNER JOINS,因此将仅显示可以同时使用f1和f2联接users表的结果。 并在Rails中使用它,也许可以这样做: 然后可以这样调用:

  • 函数是JavaScript 中最有趣的部分之一。它们本质上是十分简单和过程化的,但也可以是非常复杂和动态的。一些额外的功能可以通过使用闭包来实现。此外,由于所有的函数都是对象,所以使用函数指针非常简单。这些令JavaScript 函数不仅有趣而且强大。以下几节描绘了几种在JavaScript 中使用函数的高级方法。 22.1.1 安全的类型检测JavaScript 内置的类型检测机制并非完全可靠。