java - 准备语句的 SQL 语法错误?

标签 java mysql jdbc

<分区>

我正在尝试运行准备语句并在 MySQL 语法中遇到错误。不确定错误是什么?

代码:

PreparedStatement stmt = null;
conn = ds.getConnection();
String query = "select distinct FName  from PRL p1, RequestView p2 where p1.RequestId = p2.RequestId and p1.PackageId = p2.PackageId and p1.ProductId = ? and p1.ProductNumber = ?  and p1.Version = ?  order by p2.ArtName";
stmt = conn.prepareStatement(query);
stmt.setString(1,id);
stmt.setString(2,num);
stmt.setString(3,ver);
rs = stmt.executeQuery(query);

错误:

Caused by: com.mysql.jdbc.exceptions.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 p1.ESTProductMatNumber =?  and p1.Version =?  order by p2.ArtworkName' at line 1 
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:936)

最佳答案

没关系。我想到了。 rs = stmt.executeQuery(查询);必须是 rs = stmt.executeQuery();

关于java - 准备语句的 SQL 语法错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38622300/

相关文章:

javascript - 相机打开时的边界或限制

java - 如何从推文中包含的 't.co' URL 中提取图像?

java - 在 Recyclerview Viewholder 中,每 10 行(而不是 1 行)后标记多行

mysql - mysql 时移差异天数

java - ResultSet.getTimestamp(String, Calendar) 使用 Calendar 对象线程安全吗?

sql-server - 在 pyspark 查询中使用临时表

通过 JDBC 从 Spark 中提取表数据时出现 PostgreSQL 错误

java - 符号曾经从何而来?

php - Laravel groupBy 列并根据数量列添加总计

mysql - 在MySQL中,如何使用基于另一个表的列值的名称来连接表?