SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
// date here is a string of format yyyy-MM-dd
java.util.Date date_1 = df.parse(date) ;
java.sql.Date sqldate = new java.sql.Date(date_1.getTime());
sql = "select * from fgs_stock_report where Report_date = ? ";
PreparedStatement two = con.prepareStatement(sql);
two.setDate(1,sqldate);ResultSet rs ;
rs = two.executeQuery(sql) ;
这里我得到一个Java Sql异常,要求附近有正确的语法? 。我是初学者,我搜索了很多解决方案,但无法找到。请帮帮我。
答案 0 :(得分:3)
我想我发现了问题,您使用的是Statement.executeQuery(String)
,但是您想要PreparedStatement.executeQuery()
- 就是这样。
PreparedStatement two = con.prepareStatement(sql); // <-- Prepare a Statement.
two.setDate(1,sqldate); // <-- bind the parameter.
ResultSet rs ;
rs = two.executeQuery(sql) ; // <-- throw it away and use raw sql
你想要的是什么,
ResultSet rs = two.executeQuery(); // <-- I'd use one line