java - JDBC 查询错误

标签 java sql jdbc

sql  = "select milk_rate from special_milk_rate 
        where code_producer_id=? and effective_from <= ? 
        and effective_till >= ?"

在我的 JDBC 代码中,我在这个查询中遇到错误

Exception: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 effective_from <= ? and effective_till >= ?' at line 1

但是当我在 MySQL 命令提示符下使用一些值运行它时,它在那里运行良好。

最佳答案

ResultSet rst= prest.executeQuery(sql);

这是不正确的。它应该是 executeQuery()。

当使用语句时,sql 被传递来执行。当使用绑定(bind)变量时,它会被传递给 PreparedStatement。由于您使用的是 Statement API,因此 JDBC 正在执行它而无需替换您的绑定(bind)变量并想知道如何处理文字问号。

关于java - JDBC 查询错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4772723/

相关文章:

java - 框架内有 2 个 J 面板。左侧面板是带有按钮的菜单。使用按钮切换右面板。

java - JPanel 上的 mouseListener 问题

java - .properties 文件中的 PropertyPlaceholderConfigurer 和环境变量

mysql - 是否可以设置connection.getMetaData().getExportedKeys()结果集的可滚动性?

oracle - JDBC 在 Oracle 中的非事件 session

java - 我可以对函数 CURSOR 结果使用命名参数吗?

java - 在 GridBagLayout 上组织 JPanel 时出现问题 (Java)

php - 无法将日期存储在数据库中

sql - 仅当所有条件都为 true 时才返回行

sql - ARel 模仿包含 find_by_sql