[英]JDBC PreparedStatement, UNION Select and parameter passing
好吧,我知道答案很简单,我会觉得很蠢,但是...
Java JDK 1.7,Sybase JDBC驱动程序
代码嗅探:
String sql = "select <blah>
from <blah blah>
where date1 = ?
UNION
select <blah>
from <blah blah>
where date2 = ?";
Connection conn = ConnectionManager.getConnection();
PreparedStatement stmt = conn.prepareStatement(sql);
logger.info("parmemeter count: " + stmt.getParameterMetaData().getParameterCount());
stmt.setDate(1, new java.sql.Date(date.getTime()));
stmt.setDate(2, new java.sql.Date(date.getTime()));
ResultSet rs = stmt.executeQuery();
while rs.next()) {
// the rest of the code
}
我刚遇到这个问题, 这个线程非常有帮助。 引发错误的不是union子句; 这是您传递的日期。如果您使用to_date()(代码段中不清楚),则需要在查询中传递字符串(而不是日期)。 祝好运!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.