java - ReadyStatement 和 LIKE 错误

标签 java mysql prepared-statement

我正在使用 jdk 1.7netbeans 7.1.2MySQL 5 在 Java SE 中编写一个简单的应用程序。

但是我在下一个代码中出现错误:

String sql = "SELECT idpaciente, ap_paterno, ap_materno, nombres, edad, direccion, telefono, descuento, movil, email, docId FROM paciente WHERE ap_paterno LIKE ? ";
pst = con.prepareStatement(sql);

pst.setString(1, paciente.getApellidoPaterno());

ResultSet rs = pst.executeQuery(sql);

这段代码编译良好,但执行后,我有一个语法错误,netbeans 说:

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 '?' at line 1

使用netbeans的调试器,错误在executeQuery中,但我找不到我的错误。

最佳答案

PreparedStatement.executeQuery()不接受任何参数,但是因为该接口(interface)继承 Statement.executeQuery(String sql)你正在调用它。只需调用:

ResultSet rs = pst.executeQuery();

关于java - ReadyStatement 和 LIKE 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10763723/

相关文章:

java - Propagation.REQUIRES_NEW 不会在 Spring 中使用 JPA 创建新事务

php - 使用 PHP 重新排序 mySQL 查询的结果而不执行另一个查询

php - 存储过程准备语句错误mysql php

php - 使用 Angular 对 json 执行 CRUD 操作。?

mysql - 在 WampServer 上使用命令提示符设置 MySQL root 密码

java - 准备好的语句更新问题

java - 执行更新被阻止

java - 在 Java 中,null 是堆上的现有对象吗?

java - JBoss 7 未通过 Java EE6 认证

java - getSystemService() 不适用于适配器类