【发布时间】:2015-04-03 16:31:30
【问题描述】:
我从 JSP 获取日期并将它们转换为时间戳
DBConnection = ConnMgr.getConnection();
Timestamp timestamp1 = new java.sql.Timestamp(date1.getTime());
Timestamp timestamp2 = new java.sql.Timestamp(date2.getTime());
我有一个 sql 语句和准备好的语句如下
String sql = " select * from images where uploadedOn>=? and uploadedOn<=?;";
ps = DBConnection.prepareStatement(sql);
ps.setTimestamp(1, timestamp1);
ps.setTimestamp(2, timestamp2);
System.out.println(ps);
此打印语句在控制台中打印 this is in
select * from images where uploadedOn>='2015-02-02 00:00:00' and uploadedOn<='2015-02-05 00:00:00';
复制到 mySQL 工作台并运行时工作正常。但它在以下语句中给出错误
rs = ps.executeQuery(sql);
错误是
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '? and uploadedOn<=?' at line 1
从昨天开始一直在为此苦苦挣扎。谁能帮我解决这个问题?
【问题讨论】:
-
在运算符和值之间添加空格。
-
从图片中选择 * 上传时间 >= '2015-02-02 00:00:00' 和上传时间
-
DBConnection是你写的类吗?如果是,请显示代码。 -
我收到了错误。我用
ps.executeQuery();替换了ps.executeQuery(sql);,它工作正常
标签: java mysql sql-server jdbc timestamp