Java 使用JDBC在列名中使用问号的Filemaker SQL查询
我试图使用JDBC从Filemaker中选择一个列,该列中有一个特殊字符。我看到过其他文章中有空格或其他特殊字符,并尝试引用我的专栏文章,但问号带来了另一个纠结,因为JDBC驱动程序似乎试图绑定到它Java 使用JDBC在列名中使用问号的Filemaker SQL查询,java,sql,jdbc,odbc,filemaker,Java,Sql,Jdbc,Odbc,Filemaker,我试图使用JDBC从Filemaker中选择一个列,该列中有一个特殊字符。我看到过其他文章中有空格或其他特殊字符,并尝试引用我的专栏文章,但问号带来了另一个纠结,因为JDBC驱动程序似乎试图绑定到它 select "Job Number", "Job Completed?" from "ORDERS" 给我com.filemaker.jdbc.FMSQLException:[filemaker][filemaker jdbc]无效的参数绑定。 相信我,我很想更改列名,但我遇到的是一个遗留数据库
select "Job Number", "Job Completed?" from "ORDERS"
给我com.filemaker.jdbc.FMSQLException:[filemaker][filemaker jdbc]无效的参数绑定。
相信我,我很想更改列名,但我遇到的是一个遗留数据库,它仍在从另一个系统访问。感谢您的帮助
编辑:经过一些实验,我发现只有在使用PreparedStatement时才会发生这种情况。如果我只使用Statement.executeQuery(sql),那么我就可以绕过这个问题。我更愿意使用准备好的语句,而不是使用字符串连接来构建查询,但至少我可以继续前进。如果有人知道如何避开问号,则此选项将保持打开状态。ExecuteSQL(“从“订单”中选择“作业已完成”)
没有仔细阅读。问题是关于JDBC…我是WooF的作者之一,WooF是我们为FileMaker编写的JDBC驱动程序,它通过XML发布引擎运行。我还没有测试过这个,但我怀疑它可以很好地处理命名奇怪的字段和准备好的语句。如果没有,请提交一份bug报告,它应该很快得到修复
经过一些实验,我发现只有在使用PreparedStatement时才会发生这种情况。如果我只使用Statement.executeQuery(sql),那么我就可以绕过这个问题。我更愿意使用准备好的语句,而不是使用字符串连接来构建查询,但至少我可以继续前进。如果有人知道如何避开问号,我会把这个打开