boolean b = ps.execute();//这里数据成功插入了也没出异常!但是返回false;
boolean execute()
throws SQLException在此 PreparedStatement 对象中执行 SQL 语句,该语句可以是任何种类的 SQL 语句。一些特别处理过的语句返回多个结果,execute 方法处理这些复杂的语句;executeQuery 和 executeUpdate 处理形式更简单的语句。
execute 方法返回一个 boolean 值,以指示第一个结果的形式。必须调用 getResultSet 或 getUpdateCount 方法来检索结果,并且必须调用 getMoreResults 移动到任何后面的结果。
返回:
如果第一个结果是 ResultSet 对象,则返回 true;如果第一个结果是更新计数或者没有结果,则返回 false
意思就是如果是查询的话返回true,如果是更新或插入的话就返回false了;
execute()返回的是一个boolean值,代表两种不同的操作啊,getResultSet()返回的是结果集,而getUpdateCount()返回的是更新的记数
转自:http://blog.sina.com.cn/s/blog_963fb3af01013rcs.html
分享到:
相关推荐
1. `execute(String SQL)`:如果返回结果是一个ResultSet对象则返回true,否则返回false。适用于执行DDL(Data Definition Language)语句或者需要动态SQL的情况。 2. `executeUpdate(String SQL)`:返回受影响的...
getConnection方法用于获取数据库连接,该方法首先判断连接对象是否为空,如果不为空则返回false,否则尝试获取连接对象。如果连接成功,返回true。 execute方法 execute方法用于执行SQL语句,该方法接受一个SQL...
如果在加载驱动或创建连接时发生异常,方法将返回`false`,表示连接失败;否则返回`true`,表示连接成功。 #### 2. 执行更新操作 executeUpdate() `executeUpdate`方法用于执行插入、更新或删除(DML)类型的SQL...
- 数据库操作往往涉及多条SQL,需要确保它们要么全部成功,要么全部失败,这就是事务。在Java中,可以通过`Connection`对象的`setAutoCommit(false)`禁用自动提交,然后手动调用`commit()`或`rollback()`来控制事务...
如果连接对象非空,则返回false,否则尝试通过`DriverManager.getConnection()`方法加载驱动并建立连接。 4. **DataSource vs DriverManager**: 在这里,项目没有使用DataSource来获取连接,而是通过DriverManager...
- `execute()`方法用于执行SQL查询语句,返回一个布尔值,表示是否成功执行了查询(返回true表示返回结果集,false表示没有结果集)。 以下是一些使用PreparedStatement的例子: - **查询**:创建一个...
如果返回`false`,则可能是INSERT、UPDATE、DELETE等操作,没有`ResultSet`。 6. `executeQuery(sql)`方法的返回值类型为`ResultSet`,表示执行的是SELECT语句。 7. `executeUpdate(sql)`方法的返回值是int类型,...
返回true表示是查询,false表示是更新。根据返回结果,可以调用getResultSet()或getUpdateCount()获取查询结果或受影响的行数。 - **关闭创建的对象**:操作完毕后,应按照Connection -> Statement -> ResultSet的...
**使用JDBC进行高级数据库操作** Java Database Connectivity (JDBC) 是Java平台中用于与关系型数据库交互的一组API,它允许Java程序执行SQL语句并处理返回的结果。本篇文章将深入探讨如何利用JDBC进行高级数据库...
5. **增删改查操作**: `Statement`和`PreparedStatement`都提供了执行SQL的方法,如`executeQuery()`用于执行SELECT语句并返回`ResultSet`,`executeUpdate()`用于INSERT、UPDATE或DELETE操作。 6. **处理结果集`: ...
4. **执行SQL语句**:`Statement.execute()`或`PreparedStatement.execute()`方法用于执行SQL查询、更新或者DML操作。如果返回值为`true`,表示执行的是查询并返回结果集。 5. **处理结果集**:对于查询,执行后会...
如果事务中的所有操作都成功,则整个事务成功;如果有任何操作失败,则整个事务回滚,确保数据的一致性。在 JDBC 中,可以使用 `Connection` 对象的 `setAutoCommit(false)` 方法来开始一个事务,然后通过调用 `...
- `execute()`:用于执行任意SQL语句,返回一个布尔值表示是否成功。 5. **处理结果集**:遍历ResultSet对象,获取查询结果,如`while(rs.next())`。 6. **关闭资源**:最后,记得关闭ResultSet、Statement和...
为了减少重复代码,可以创建一个公共的DAO基类,包含通用的数据库操作方法,如`executeSQL(String sql)`,`executeUpdateWithParams(String sql, Object[] params)`等。这样,子类只需专注于业务逻辑,无需关注底层...
MySQL工具类是Java编程中的一种常见设计,它用于简化与MySQL...同时,工具类还可以包含对数据库操作的进一步优化,如使用PreparedStatement预编译SQL语句,提高执行效率,或者使用连接池管理数据库连接,提升系统性能。
使用`PreparedStatement`执行插入、更新或删除操作可以提高代码的安全性和性能。 ```java String sql = "UPDATE STUDENT SET NAME = ? WHERE ID = ?"; PreparedStatement pstmt = conn.prepareStatement(sql); ...
1. **执行SQL**: `Statement.execute()`或`PreparedStatement.execute()`执行SQL查询或更新。 2. **处理结果集**: 对于查询语句,返回`ResultSet`,通过迭代遍历数据。 3. **批处理**: 使用`addBatch()`和`...
- **`executeUpdate()`**:用于执行不返回结果集的SQL语句,比如`INSERT`, `UPDATE`, `DELETE`等DML操作,也可以执行DDL(数据定义语言)操作,例如`CREATE TABLE`和`DROP TABLE`。 - **`execute()`**:这是一个更...
如果是更新操作,则返回 `false`。可以调用 `getResultSet()` 或 `getUpdateCount()` 获取更多结果信息。 - **`executeQuery(String sql)`**:专门用于执行查询语句,返回 `ResultSet` 结果集。 - **`executeUpdate...