使用ODBC转义包含问号的访问表名称

时间:2013-09-03 13:19:26

标签: java ms-access odbc

我有一个Access数据库来查询如下:

id - name - Print? 
1  - one  - Yes
2  - two  - No

现在我在java中的查询,使用带有ODBC连接器的PreparedStatement是这样的:

select * from table where [Print?] = Yes

我无法找到解决问题的方法。我知道,无论谁创建了数据库,它都是一个糟糕的设计选择,但是它已经在应用程序中如此紧密,已经无法改变它。

PS。我已阅读How to query for a MS Access column whose name has a question mark, via ODBC?,但这并没有回答我的问题。

1 个答案:

答案 0 :(得分:1)

正如对问题的评论中所建议的那样,显然唯一的解决方法是

  • 重命名Access表中的列以删除问号,或

  • 在Access中创建一个保存的查询以返回具有不同名称的列,然后针对查询而不是表运行JDBC操作。