Sql Server JDBC驱动程序错误

时间:2017-06-30 13:26:58

标签: sql sql-server

当我尝试根据下面的参数计数动态设置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'。

相同代码适用于 Mysql jdbc驱动程序。

(我正在使用sqljdbc41.jar for mssql)。

任何人都有这种问题或任何解决方案吗?

1 个答案:

答案 0 :(得分:0)

DATE是保留字,您需要将其括在引号中:

root.prepareStatement("SELECT * FROM users WHERE \"DATE\" BETWEEN ? AND ?");