2016-09-12 67 views

回答

9

如果該方法的調用沒有錯誤,則方法execute(String sql)返回void。 (請參閱execute(..) JavaDoc)。至於普通JDBC,它應該/可以用來定義數據庫模式元素(DDL),例如CREATE TABLE ...語句。

相比之下,update(String sql)通常用於對應於SQL INSERT/UPDATE/DELETE操作的DML語句。在這些情況下,從程序員的角度來看,操作數據的過程中,知道有多少行被相應的DML操作添加/更改/刪除非常重要。

出於這個原因,update(...)方法返回一個非負int值,讓你知道:

返回: 行數用術語影響

javadoc的指示「典型」在其描述中,但是,您可以使用execute(String sql)來操作數據,而無需使用返回的int值。在理論上,對於一些DBMS實現,這個調用可能會更快一些,因爲沒有返回值需要傳輸。然而,從我個人和程序員的角度來看,你應該使用DDL和DML語句不同的兩種操作,因爲它的本質是update表示正在進行數據操作操作。

希望它有幫助。