请帮助我,请注意此代码中的错误是什么?
sql = "SELECT * FROM work_book WHERE mikor >= " + startTime + "AND mikor <= " + endTime;
Statement statement = connection.createStatement();
ResultSet resultSet = statement.executeQuery(sql);
错误消息:
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:你有一个 SQL语法错误;查看与您的手册相对应的手册 MySQL服务器版本,用于在&mcor&lt; =附近使用正确的语法 1518303600000&#39;在第1行
感谢您的帮助!!
答案 0 :(得分:2)
我将您的问题视为拼写错误,原因是您错过了startTime
和AND
运营商之间的空格:
" + startTime + "AND mikor <= "
//---------------^
但重要的事情:
Date
应该在两个引号'startTime'
之间,您的代码旁边可能是语法错误或SQL注入的受害者,因此请使用PreparedStatement:
sql = "SELECT * FROM work_book WHERE mikor >= ? AND mikor <= ?";
try (PreparedStatement pst = con.prepareStatement(sql);) {
pst.setDate(1, startTime);
pst.setDate(2, endTime);
...
}