我想从表中收集数据,然后在两个日期语句之间运行。该语句是在java字符串中创建的,然后使用statement.executeQuery()将字符串作为参数,由resultSet变量使用。 这是我创建了两个日期字符串:使用java字符串的两个日期语句之间的SQL
Calendar today = Calendar.getInstance();
int month = today.get(Calendar.MONTH);
int year = today.get(Calendar.YEAR);
int endOfMonth = today.getActualMaximum(Calendar.DATE);
String sql;
if (month < 10) {
sql = "SELECT * FROM ORDERS WHERE DATE BETWEEN " + "#0" + month + "/01/" + year + "#" + " AND " + "#0" + month + "/" + endOfMonth + "/" + year + "#";
当我打印线这个字符串的结果是这样的:
SELECT * FROM ORDERS WHERE DATE BETWEEN #03/01/2015# AND #03/30/2015#
然而,当我运行通过executeQuery方法这个字符串出现此错误:
java.sql.SQLSyntaxErrorException: Lexical error at line 1, column 41. Encountered: "#" (35), after : "".
为什么你使用''#而不是'''? – legohead 2015-04-03 12:51:41
@legohead我正在关注一个网上教程,由于某种原因哈希,但这已经解决了这个问题,感谢这个 – 2015-04-03 12:55:14
没问题,请看我的答案。 – legohead 2015-04-03 12:56:37