java - 在 Java 中执行 MySQL 查询时出错

标签 java mysql database

我正在尝试将数据插入 MySQL 表,但我收到异常消息:

Apr 16, 2012 3:01:03 PM RFID.RFID passDetInput
SEVERE: Can not issue data manipulation statements with executeQuery().
java.sql.SQLException: Can not issue data manipulation statements with executeQuery().
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1075)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:989)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:984)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:929)
at com.mysql.jdbc.StatementImpl.checkForDml(StatementImpl.java:436)
at com.mysql.jdbc.StatementImpl.executeQuery(StatementImpl.java:1390)
at RFID.RFID.passDetInput(RFID.java:495)
at RFID.RFID.SaveActionPerformed(RFID.java:472)
at RFID.RFID.access$700(RFID.java:28)
at RFID.RFID$7.actionPerformed(RFID.java:259)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2341)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
at java.awt.Component.processMouseEvent(Component.java:6504)
    ...

这是我进行数据操作的代码:

import java.sql.*;
import java.util.logging.Level;
import java.util.logging.Logger;

public void passDetInput(String tag, String fname, String lname, String pID, String ConNo, String phone) {

        String SQLcomm = "insert into pass_det (RFID_tag, fname, lname, ID_num, Conveyor_num, Phone_num) values (/'"+tag+"/',/'"+fname+"/',/'"+lname+"/',/'"+pID+"/',/'"+ConNo+"/',/'"+phone+"/')";

        java.sql.Connection con = null;
        Statement st = null;
        ResultSet rs = null;

        String url = "jdbc:mysql://localhost:3306/passenger_details";
        String user = "root";
        String password = "";

    try {
        con = DriverManager.getConnection(url, user, password);
        st = con.createStatement();
        rs = st.executeQuery(SQLcomm);

    } catch (SQLException ex) {
        Logger lgr = Logger.getLogger(RFID.class.getName());
        lgr.log(Level.SEVERE, ex.getMessage(), ex);
    }
}

并且该功能是通过按下按钮来执行的。

我检查了数据库名称、表名称和元素名称,它们都是正确的。 我的代码哪里出错了?

提前致谢。

最佳答案

试试 execute()executeUpdate() 方法。如果我没记错的话,executeQuery 仅适用于 SELECT 语句。

你还应该看看:PreparedStatement

关于java - 在 Java 中执行 MySQL 查询时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10170173/

相关文章:

java - 使用 spark java 的 Hive 列级加密

java - Apache Flume/var/log/flume-ng/flume.log(权限被拒绝)

php - 使用jquery php mysql提交数据?

php - Doctrine :多重 inversedBy 关系

java - MySQL更新与运算符

mysql - 将 mongoDB 集合转换为 mySQL 数据库

Java - 可执行 JAR?容易反编译?

java - 通用静态工厂方法问题

sql - 单个表与两个一对一相关表的性能

android - SQLite 和 SQL 有什么区别