首页 文章

使用JDBC查询字符串中的Sql语法错误?

提问于
浏览
0

我正在尝试使用java和jdbc通过timestamp搜索sql中的表,但是当我将时间戳插入查询字符串时,我在小时图中得到一个sytax错误:

String queryString = "select " + tag +  " from WATER_RUNTIME_VALUES
 where Time_Stamp = 2015-06-150 8:58:00.0000000";

 ResultSet rs = statement.executeQuery(queryString);

这是错误:

com.microsoft.sqlserver.jdbc.SQLServerException:'10'附近的语法不正确 . at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(SQLServerException.java:216)at com.microsoft.sqlserver.jdbc.SQLServerStatement.getNextResult(SQLServerStatement.java:1515)at com.microsoft.sqlserver.jdbc.SQLServerStatement.doExecuteStatement (SQLServerStatement.java:792)com.microsoft.sqlserver.jdbc.SQLServerStatement $ StmtExecCmd.doExecute(SQLServerStatement.java:689)at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:5696)at com . com.microsoft.sqlserver.jdbc.SQLServerStatement.executeStatement(SQLServerStatement . java:155)com.microsoft.sqlserver.jdbc.SQLServerStatement.executeQuery(SQLServerStatement.java:616)at bandon.scada.core.InitConn.calculateHourlyTotal(InitConn.java:58)at bandon.scada.core.InitConn.dbConnect (InitConn.java:36)在bandon.scada.core . InitConn.main(InitConn.java:24)

4 回答

  • 3

    试试这个..

    String queryString = "select ' " + tag + " ' from WATER_RUNTIME_VALUES where Time_Stamp = '2015-06-150 8:58:00.0000000'";
    
  • -1

    在日期参数中使用引号,

    String queryString = "select " + tag + " from WATER_RUNTIME_VALUES where Time_Stamp = '2015-06-150 8:58:00.0000000'"
    
  • 0

    将单引号放在时间值中以转义 2015-06-150 8:58:00.0000000 中的空格

    String queryString = "select " + tag + " from WATER_RUNTIME_VALUES where Time_Stamp = '2015-06-150 8:58:00.0000000'";
    

    或者更好用 PreparedStatement

  • 0

    日期必须在引号内

相关问题