jdbc基本问题

来源:百度知道 编辑:UC知道 时间:2024/06/12 10:36:25
Class.forName("oracle.jdbc.OracleDriver");
Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:test","scott","tiger");
Statement stmt = conn.createStatement();
stmt.executeUpdate("create table t4(id number(4),name varchar2(20))");
stmt.execute("create table t3(id number(4),name varchar2(20))");
stmt.executeUpdate和stmt.execute有区别吗?

execute 方法

返回一个 boolean 值,以指示第一个结果的形式。必须调用 getResultSet 或 getUpdateCount 方法来检索结果,并且必须调用 getMoreResults 移动到任何后面的结果。

返回:
如果第一个结果是 ResultSet 对象,则返回 true;如果第一个结果是更新计数或者没有结果,则返回 false

int executeUpdate()

在此 PreparedStatement 对象中执行 SQL 语句,该语句必须是一个 SQL INSERT、UPDATE 或 DELETE 语句;或者是一个什么都不返回的 SQL 语句,比如 DDL 语句。

返回:
(1) 对于 INSERT、UPDATE 或 DELETE 语句,返回行数 (2) 或者对于什么都不返回的 SQL 语句,返回 0

楼上说的好 但不一定能听懂哦。

我来简单地说一下

stmt.execute 里写 要返回的 sql 及 select 语句

stmt.executeUpdate 里写 无返回的 sql 及 insert,update,delete,create,alter,drop 等。