Statement (2)

来源:互联网 发布:mac中safari下载视频 编辑:程序博客网 时间:2024/04/30 21:36

public boolean execute(String sql) throws SQLException

方法说明:execute方法可以输入任何形式的SQL命令,包括DDL与DML的SQL命令。使用execute方法执行输入的SQL命令后,如果返回值为True,表示数据库返回一个ResultSet对象或多个ResultSet 对象,此时可以利用getResultSet 与 getMoreResultSets 的方法取得ResultSet 的对象;反之如果为 false,表示数据库的执行结果并没有产生任何 ResultSet,此时就可以就利用getUpdateCount 来获得插入、修改或者删除的记录条数。

1、参数:sql ----- 任何形式的SQL命令。

2、返回值: boolean ----- 如果为 true 表示返回一个ResultSet,可以利用getResultSet 的方法来取得;反之如果为false表示返回是数据变动的条数捉者是已经没有任何结果。

3、异常: SQLException ----- 执行execute 方法时,数据库发生任何的错误,则会产生一个SQLException的对象。

4、附加:与getUpdateCount、getResultSet 及getMoreResults 方法搭配。

---------------------------------------------------------------------------------------

public int getUpdateCount() throws SQLException

方法说明:必须与execute 方法一起使用,如果execute 执行SQL命令之后的返回值为false,就可以利用 getUpdateCount 获得插入、修改或者删除的记录条数。

1、参数:无。

2、返回值: int ----- 如果execute 执行的是插入、修改或者删除语句,则返回值表示插入、修改或者删除的记录条数;如果返回的整型值为 -1,表示返回值为ResultSet 的对象或者是根本已经没有任何结果。

3、异常: SQLException ----- 数据库发生任何的错误,则会产生一个SQLException的对象。

4、附加:与execute 方法搭配。

--------------------------------------------------------------------------------------- 

public ResultSet getResultSet() throws SQLException

方法说明:必须与execute 方法一起使用,如果execute方法返回值为 true,就可以利用getResultSet 方法取得ResultSet 的对象。

1、参数:无 。

2、返回值: ResultSet ----- 如果为 true 表示目前的ResultSet 对象。如果为null 表示为结果可能是数据更动的条数捉者是已经没有任何结果。

3、异常: SQLException ----- 数据库发生任何的错误,则会产生一个SQLException的对象。

4、附加:与execute 方法搭配。

---------------------------------------------------------------------------------------

public boolean getMoreResults() throws SQLException

方法说明:使用execute方法时,可能是执行数据库上的存储过程(Store Procedure),数据库的存储过程可以返回多个ResultSet 对象,当利用getResult 取得一个ResultSet 的对象之后,我们可以执行getMoreResults() 方法来得知是否还有其他的ResultSet。如果Return值是true,表示还有其他的ResultSet,就可以利用getResultSet方法来取得另外一个ResultSet;若Return值为 false,表示已经没有其他的ResultSet。

1、参数:无 。

2、返回值: boolean ----- 如果为 true 表示下一个返回值为ResultSet对象;反之如果为false表示返回是数据变动的条数捉者是已经没有任何结果。

3、异常: SQLException ----- 数据库发生任何的错误,则会产生一个SQLException的对象。

4、附加:如何确认 execute 执行之后,已经没有任何结果呢? 如果 getMoreResults 返回 false 的话,表示已经没有任何的ResultSet 的对象,然后在使用 getUpdateCount 确认也没有任何的数据更新。所以使用下面的方式来判断: (!getMoreResults()) && (getUpdateCount()==-1)

---------------------------------------------------------------------------------------