java - 列名中包含 "?"的 JDBCPreparedStatement

标签 java ms-access jdbc prepared-statement

我正在使用 JDBC 连接从 Access 数据库获取数据。 数据库设计不是我的控制。数据库中有些列带有“?”包含在他们的名称中,例如:Open?Paid? 等等。

当我尝试使用PreparedStatement 获取数据时,出现错误。查询是:

SELECT Open? FROM tblJobList WHERE WeekEnding=?

我也尝试使用像[Open?]这样的括号,但结果是一样的。

我收到的错误是“参数太少...”,因为我只将一个参数插入PreparedStatement。

由于 WeekEnding=?,我无法使用普通语句,因为该值是时间戳,我无法设法将其与语句一起使用。只有准备好的语句在这里才有效。

谁能告诉我如何在PreparedStatement中使用这些类型的列名?

最佳答案

使用“字符

"SELECT \"Open?\" FROM tblJobList WHERE WeekEnding=?"

针对 Oracle 进行了测试,似乎可以与 mssqlserver 一起使用

How to select a column in SQL Server with a special character in the column name?

关于java - 列名中包含 "?"的 JDBCPreparedStatement,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16431913/

相关文章:

java - java数据库中静态方法和单例的替代解决方案

java - 为什么当我使用 'synchronized' 时我的线程没有一个接一个地执行?

ms-access - MS Access - 使用 "Filter by Form"时更改表单外观

ms-access - Access 变量字段名称

java - 使用JAVA在命令行中实现

java - MySql 数据库连接问题 - ClassNotFoundException

excel - 如何插入嵌入图片?

java - 关于在 Java 中使用 JDBC 连接到 IBM 数据库

java - java中无法加载多个类文件

java - 在 netbeans Java DB 数据库或 Sqlite 中拥有图像