java - 使用 MySQL 准备语句?

标签 java mysql jdbc prepared-statement

对于准备好的语句,我在语法上遇到了一些麻烦。

我有以下代码

String query2="SELECT lname FROM school_student WHERE sid = ? ORDER BY sid;";

PreparedStatement ps = cn.prepareStatement(query2);
ps.setInt(1, 3);
ResultSet rs = ps.executeQuery(query2);

我遇到的问题是我收到此错误消息:

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

但是,当我替换“?”时在我对 3 的查询中,查询工作正常,没有错误,并且给了我我想要的。我如何设置“?”的值似乎有问题在我的查询中?我使用了错误的语法吗?

最佳答案

简单使用

ps.executeQuery();

(即使用重载的 executeQuery() 方法,它不接受任何参数)。您在准备语句时已经通过了查询。

关于java - 使用 MySQL 准备语句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15258425/

相关文章:

java - 是否可以将 onClick 函数动态分配给按钮?

java - 为什么唯一多重约束的 JPA 声明在 mySQL 中有效,但在 SQLite 中无效

php - 在 PHP 中多次调用 MySQL 存储例程

php - 从数据库 SQL 中的唯一 ID 获取最后一个数字 - PHP CodeIgniter

java - JDBC 中 hibernate 异常

java - 从 HashMap 中删除值在指定范围内的条目的有效方法

java - 我正在尝试从一个简单的 listView 中的 .db 文件导入数据,但我的应用程序没有显示任何文本。我该如何解决这个问题?

java - Android Studio : How to compile with customized class but still use module dependency

java.sql.SQLException : No suitable driver found for jdbc:microsoft:sqlserver

java - Hibernate 或 JPA 或 JDBC 还是?