【发布时间】:2017-06-30 13:26:58
【问题描述】:
当我尝试根据下面的参数计数动态设置 preparestament 参数时,SQL Server JDBC 驱动程序给我错误。
preparedStatement = root.prepareStatement("SELECT * FROM users WHERE DATE BETWEEN ? AND ?");
if(preparedStatement.getParameterMetaData()!=null){ //exception at this line
//do some logic
}
错误:
com.microsoft.sqlserver.jdbc.SQLServerException: com.microsoft.sqlserver.jdbc.SQLServerException:附近的语法不正确 关键字“BETWEEN”。
Same Code 适用于 Mysql jdbc 驱动程序。
(我正在为 mssql 使用 sqljdbc41.jar)。
任何人都可以有这种问题或任何解决方案吗?
【问题讨论】:
-
DATE是一个关键字,也许你需要在 SQL Server 中转义它,例如"DATE"或 SQL Server 使用的非标准[DATE]。
标签: sql sql-server