Statement
1. 概述 Statement 對象用于將SQL 語句發(fā)送到數(shù)據(jù)庫服務(wù)器。DM4 JDBC提供三種類型的語句對象:Statement,,PreparedStatement,,CallableStatement。其中PreparedStatement是Statement的子類,,CallableStatement是PreparedStatement的子類,。每一種語句對象用來運行特定類型的SQL語句。 Statement對象用來運行簡單類型的SQL語句,,語句中無需指定參數(shù),。 PreparedStatement對象用來運行包含(或不包含)IN類型參數(shù)的預(yù)編譯SQL語句。 CallableStatement對象用來調(diào)用數(shù)據(jù)庫存儲過程,。 2. 創(chuàng)建Statement對象 建立連接后,,Statement對象用Connection對象的createStatement方法創(chuàng)建,以下代碼創(chuàng)建Statement對象: Connection con = DriverManager.getConnection(url, "SYSDBA", "SYSDBA"); Statement stmt = con.createStatement(); 3. 使用Statement對象執(zhí)行語句 Statement接口提供了三種執(zhí)行SQL語句的方法:executeQuery,、executeUpdate和execute,。 方法 executeQuery 用于產(chǎn)生單個結(jié)果集的語句,例如 SELECT 語句,。 方法 executeUpdate 用于執(zhí)行 INSERT,、UPDATE 或 DELETE 語句以及 SQL DDL語句,,如 CREATE TABLE 和 DROP TABLE。INSERT,、UPDATE 或 DELETE 語句的效果是修改表中零行或多行中的一列或多列,。executeUpdate的返回值是一個整數(shù),表示受影響的行數(shù),。對于CREATE TABLE或DROP TABLE等DDL語句,,executeUpdate 的返回值總為零。 方法 execute 用于執(zhí)行返回多個結(jié)果集,、多個更新元組數(shù)或二者組合的語句,。 執(zhí)行語句的三種方法都將關(guān)閉所調(diào)用的Statement 對象的當(dāng)前打開結(jié)果集(如果存在)。這意味著在重新執(zhí)行Statement對象之前,,需要完成對當(dāng)前ResultSet對象的處理,。 4. 關(guān)閉 Statement 對象 Statement對象可由Java垃圾收集程序自動關(guān)閉。但作為一種好的編程風(fēng)格,,應(yīng)在不需要Statement對象時顯式地關(guān)閉它們,。這將立即釋放數(shù)據(jù)庫服務(wù)器資源,有助于避免潛在的內(nèi)存問題,。 |
|