Statement.execute(sql) vs executeUpdate(sql) and executeQuery(sql) Statement.execute(sql)方法用于执行任何类型的SQL语句。它可以执行INSERT、UPDATE、DELETE和SELECT语句。此方法返回一个boolean值,表示执行的SQL语句是否为结果集。如果是SELECT语句,则返回true,否则返回false。 executeUpdate(sql)方法用于执行INSERT、UPDATE或DELETE语句。它返回一个int值,表示受到影响的行数。如果没有行受到影响,则返回0。 executeQuery(sql)方法用于执行SELECT语句,并返回一个ResultSet对象,该对象包含查询结果的数据。可以使用ResultSet对象来访问和处理查询结果。 根据需要选择适当的方法来执行SQL语句,以达到所需的结果。
Statement.execute(sql) vs executeUpdate(sql) and executeQuery(sql) Statement.execute(sql)方法用于执行任何类型的SQL语句。它可以执行INSERT、UPDATE、DELETE和SELECT语句。此方法返回一个boolean值,表示执行的SQL语句是否为结果集。如果是SELECT语句,则返回true,否则返回false。 executeUpdate(sql)方法用于执行INSERT、UPDATE或DELETE语句。它返回一个int值,表示受到影响的行数。如果没有行受到影响,则返回0。 executeQuery(sql)方法用于执行SELECT语句,并返回一个ResultSet对象,该对象包含查询结果的数据。可以使用ResultSet对象来访问和处理查询结果。 根据需要选择适当的方法来执行SQL语句,以达到所需的结果。
关于这个方法st.execute(sql);
,我有一个问题,其中st显然是一个Statement对象。
直接从这个Oracle Java教程中引用:
execute:如果查询返回的第一个对象是ResultSet对象,则返回true。如果查询可能返回一个或多个ResultSet对象,请使用此方法。通过反复调用Statement.getResultSet检索从查询返回的ResultSet对象。
"一个或多个ResultSet对象"是什么意思?一旦获得了一个ResultSet数组,如何管理它们?
而st.executeQuery(sql)
和st.executeUpdate(sql)
非常清楚。至少对我来说,st.execute(sql)
的目的不是这样,因为它也可以返回一个int,就好像更新了一个表一样。
提前致谢。