无法在Java中执行MySQL Delete语句

我正在尝试运行此代码并删除MySQL数据库中的某些记录,但出现此错误:

SQLException: Can not issue data manipulation statements with executeQuery().

SQLState: S1009

VendorError: 0

这是我目前拥有的代码:

package stringStuff;

import java.io.File;

import java.util.regex.*;

import java.sql.*;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Statement;

public class REGGY {

/**

* @param args

*/

Connection connection;

public REGGY() {

try {

Class.forName("com.mysql.jdbc.Driver").newInstance();

} catch (Exception e) {

System.err.println("Unable to find and load driver");

System.exit(1);

}

}

private void displaySQLErrors(SQLException e) {

System.out.println("SQLException: " + e.getMessage());

System.out.println("SQLState: " + e.getSQLState());

System.out.println("VendorError: " + e.getErrorCode());

}

public void connectToDB() {

try {

connection = DriverManager

.getConnection("the connection works :P");

} catch (SQLException e) {

displaySQLErrors(e);

}

}

public void executeSQL() {

try {

Statement statement = connection.createStatement();

ResultSet rs = statement

.executeQuery("DELETE FROM content_resource WHERE RESOURCE_ID LIKE '%Hollow%'");

rs.close();

statement.close();

connection.close();

} catch (SQLException e) {

displaySQLErrors(e);

}

}

public static void main(String[] args) {

String cool = new File(

"/group/a45dea5c-ea09-487f-ba1c-be74b781efb1/Lessons/Hollowbody 5.gif")

.getName();

System.out.println(cool);

REGGY hello = new REGGY();

hello.connectToDB();

hello.executeSQL();

// TODO Auto-generated method stub

}

}

我能够运行select

*查询没有问题,但是当我尝试运行DELETE查询时,它并没有解决。我已经在MySQL工作台中运行了此命令,并且该命令有效,但是当我使用Java时,该命令不起作用。

回答:

您使用executeUpdate()它代替。

executeQuery()仅用于返回数据的语句。executeUpdate适用于不会返回日期的日期(更新,插入,删除,我相信诸如添加/删除表,约束,触发器之类的东西)。

以上是 无法在Java中执行MySQL Delete语句 的全部内容, 来源链接: utcz.com/qa/410543.html

回到顶部