【发布时间】:2013-09-03 13:19:26
【问题描述】:
我有一个 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?,但这并没有回答我的问题。
【问题讨论】:
-
你试过
Statement.executeQuery("select * from table where [Print?] = Yes")而不是使用PreparedStatement吗? -
我现在试过了 - 出现以下错误。 “[Microsoft][ODBC Text Driver]COUNT 字段不正确”,微软表示可以通过以下方式解决: 1. 要解决此问题,您必须删除“?”源文件中列名字段中的字符。让我想知道为什么他们允许您在访问表名中使用问号而不是在 ODBC 中使用问号...
-
微软逻辑...您有权在数据库上创建视图吗?正如这里所建议的stackoverflow.com/questions/1409610/…
-
我决定创建另一个查询:qry_print 只选择 id 和 Print?从表和名称打印? “打印”栏。正如另一个答案中所建议的那样,几乎提出了一个观点。希望有另一种方法,但我想有时一个混乱的问题需要一个混乱的解决方案。谢谢