sql = "select milk_rate from special_milk_rate
where code_producer_id=? and effective_from <= ?
and effective_till >= ?"
在我的JDBC代码
中,我在此查询中收到错误异常:com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:您的SQL语法中有错误;检查与您的MySQL服务器版本对应的手册,以便在'附近使用正确的语法?和effective_from&lt; =?和effective_till&gt; =?'在第1行
但是当我在MySQL命令提示符下使用某些值运行它时,它在那里运行良好。
答案 0 :(得分:1)
ResultSet rst= prest.executeQuery(sql);
这是不正确的。它应该是executeQuery()。
使用Statement时,sql被传递给执行。当使用绑定变量时,它会被传递给PreparedStatement。由于您使用的是Statement API,因此JDBC正在执行它而不会替换您的绑定变量并想知道如何处理文字问号。
答案 1 :(得分:0)
您必须使用预准备语句而不是“普通”语句才能将问号替换为参数。