[英]Sql Server JDBC Driver Error
When I am trying to set preparestament parameter dynamically based on parameter count like below, SQL server JDBC driver give me error. 当我尝试根据如下所示的参数计数动态设置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
}
Error : 错误:
com.microsoft.sqlserver.jdbc.SQLServerException: com.microsoft.sqlserver.jdbc.SQLServerException: Incorrect syntax near the keyword 'BETWEEN'.
com.microsoft.sqlserver.jdbc.SQLServerException:com.microsoft.sqlserver.jdbc.SQLServerException:关键字“ BETWEEN”附近的语法不正确。
Same Code works fine for Mysql jdbc driver. 对于Mysql jdbc驱动程序,相同的代码工作正常。
(I am using sqljdbc41.jar for mssql). (我使用msj的sqljdbc41.jar)。
Can any one have this kind of issue or any solution? 谁能遇到这种问题或解决方案?
DATE是保留字,您需要将其用引号引起来:
root.prepareStatement("SELECT * FROM users WHERE \"DATE\" BETWEEN ? AND ?");
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.