Jdbc 它是如何工作的&引用;executeUpdate()“;?

Jdbc 它是如何工作的&引用;executeUpdate()“;?,jdbc,Jdbc,我是JDBC新手,仅出于测试目的,我在executeUpdate()中通过了Select查询,而不是DML查询;我得到的结果让我很困惑 我在Oracle11g的Scott用户表上测试了它 对于dept和salgrade表,它返回整数编号4和5,我认为这是这些表中的记录数。 对于emp表,它应该返回14,但返回10;为什么? 我的代码是: import java.sql.*; public class JdbcTest2 { public static void main(String arg

我是JDBC新手,仅出于测试目的,我在executeUpdate()中通过了Select查询,而不是DML查询;我得到的结果让我很困惑

我在Oracle11g的Scott用户表上测试了它

对于deptsalgrade表,它返回整数编号45,我认为这是这些表中的记录数。 对于emp表,它应该返回14,但返回10;为什么?

我的代码是:

import java.sql.*;

public class JdbcTest2
{

public static void main(String args[])throws Exception
    {
        Class.forName("oracle.jdbc.OracleDriver");

        Connection con = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl","scott","tiger");

        Statement st=con.createStatement();

        System.out.println(st.executeUpdate("select * from dept"));
        System.out.println(st.executeUpdate("select * from salgrade"));
        System.out.println(st.executeUpdate("select * from emp"));

        st.close();
        con.close();

    }
}

我知道executeUpdate()不适用于select查询;但是这里发生了什么,请解释一下,让我来解释一下这一困惑。谢谢你

对select查询使用
executeUpdate()
的结果是未定义的。回答您的问题毫无意义,因为您的代码完全错误。从技术上讲,这是驱动程序中的一个错误,因为当“给定的SQL语句生成ResultSet对象”(请参阅)时,它应该抛出
SQLException