使用 JDBC 更新记录时出错
Error in updating records using JDBC
我的 MySQL 更新查询有问题。这是代码:
String s2="foo";
String s6="bar";
try{
Class.forName("com.mysql.jdbc.Driver");
Connection con=DriverManager.getConnection("jdbc:mysql://localhost:3306/mydb","root","root");
String query="update mydb set Status='"+s6+"' where IC_Number='"+s2+"'";
Statement stmt=con.createStatement();
ResultSet rs=stmt.executeQuery(query);
con.close();
}
catch(Exception e)
{
System.out.println("Error in login:"+e);
}
}
}
我收到错误
can not issue data manipulation statements with executeQuery().
谁能指出问题出在哪里?
对于 update
操作你必须使用 executeUpdate
其中 returns 一个整数而不是 ResultSet
变化:
ResultSet rs=stmt.executeQuery(query);
收件人:
int updateResult = stmt.executeUpdate( query );
文档:
- java.sql.Statement.executeUpdate(java.lang.String)
- 执行给定的 SQL 语句,它可以是 INSERT、UPDATE 或
DELETE 语句或 SQL 语句 returns 什么都没有,例如
SQL DDL 语句。
您应该使用 executeUpdate() 而不是 executeQuery();
我的 MySQL 更新查询有问题。这是代码:
String s2="foo";
String s6="bar";
try{
Class.forName("com.mysql.jdbc.Driver");
Connection con=DriverManager.getConnection("jdbc:mysql://localhost:3306/mydb","root","root");
String query="update mydb set Status='"+s6+"' where IC_Number='"+s2+"'";
Statement stmt=con.createStatement();
ResultSet rs=stmt.executeQuery(query);
con.close();
}
catch(Exception e)
{
System.out.println("Error in login:"+e);
}
}
}
我收到错误
can not issue data manipulation statements with executeQuery().
谁能指出问题出在哪里?
对于 update
操作你必须使用 executeUpdate
其中 returns 一个整数而不是 ResultSet
变化:
ResultSet rs=stmt.executeQuery(query);
收件人:
int updateResult = stmt.executeUpdate( query );
文档:
- java.sql.Statement.executeUpdate(java.lang.String)
- 执行给定的 SQL 语句,它可以是 INSERT、UPDATE 或 DELETE 语句或 SQL 语句 returns 什么都没有,例如 SQL DDL 语句。
您应该使用 executeUpdate() 而不是 executeQuery();