国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JSP > 正文

JDBCTM 指南:入門4 - Statement

2020-06-01 23:27:12
字體:
來源:轉載
供稿:網友
4 - Statement
本概述是從《JDBCTM Database Access from JavaTM: A Tutorial and Annotated Reference 》這本書中摘引來的。JavaSoft 目前正在準備這本書。這是一本教程,同時也是 JDBC 的重要參考手冊,它將作為 Java 系列的組成部份在 1997 年春季由 Addison-Wesley 出版公司出版。


4.1 概述
Statement 對象用于將 SQL 語句發送到數據庫中。實際上有三種 Statement 對象,它們都作為在給定連接上執行 SQL 語句的包容器:Statement、PreparedStatement(它從 Statement 繼承而來)和 CallableStatement(它從 PreparedStatement 繼承而來)。它們都專用于發送特定類型的 SQL 語句: Statement 對象用于執行不帶參數的簡單 SQL 語句;PreparedStatement 對象用于執行帶或不帶 IN 參數的預編譯 SQL 語句;CallableStatement 對象用于執行對數據庫已存儲過程的調用。

Statement 接口提供了執行語句和獲取結果的基本方法。PreparedStatement 接口添加了處理 IN 參數的方法;而 CallableStatement 添加了處理 OUT 參數的方法。


4.1.1 創建 Statement 對象
建立了到特定數據庫的連接之后,就可用該連接發送 SQL 語句。Statement 對象用 Connection 的方法 createStatement 創建,如下列代碼段中所示:

Connection con = DriverManager.getConnection(url, "sunny", "");
Statement stmt = con.createStatement();

為了執行 Statement 對象,被發送到數據庫的 SQL 語句將被作為參數提供給 Statement 的方法:

ResultSet rs = stmt.executeQuery("SELECT a, b, c FROM Table2");

4.1.2 使用 Statement 對象執行語句
Statement 接口提供了三種執行 SQL 語句的方法:executeQuery、executeUpdate 和 execute。使用哪一個方法由 SQL 語句所產生的內容決定。

方法 executeQuery 用于產生單個結果集的語句,例如 SELECT 語句。

方法 executeUpdate 用于執行 INSERT、UPDATE 或 DELETE 語句以及 SQL DDL(數據定義語言)語句,例如 CREATE TABLE 和 DROP TABLE。INSERT、UPDATE 或 DELETE 語句的效果是修改表中零行或多行中的一列或多列。executeUpdate 的返回值是一個整數,指示受影響的行數(即更新計數)。對于 CREATE TABLE 或 DROP TABLE 等不操作行的語句,executeUpdate 的返回值總為零。

方法 execute 用于執行返回多個結果集、多個更新計數或二者組合的語句。因為多數程序員不會需要該高級功能,所以本概述后面將在單獨一節中對其進行介紹。

執行語句的所有方法都將關閉所調用的 Statement 對象的當前打開結果集(如果存在)。這意味著在重新執行 Statement 對象之前,需要完成對當前 ResultSet 對象的處理。

應注意,繼承了 Statement 接口中所有方法的 PreparedStatement 接口都有自己的 executeQuery、executeUpdate 和 execute 方法。Statement 對象本身不包含 SQL 語句,因而必須給 Statement.execute 方法提供 SQL 語句作為參數。PreparedStatement 對象并不將 SQL 語句作為參數提供給這些方法,因為它們已經包含預編譯 SQL 語句。CallableStatement 對象繼承這些方法的 PreparedStatement 形式。對于這些方法的 PreparedStatement 或 CallableStatement 版本,使用查詢參數將拋出 SQLException。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 登封市| 吉安县| 丰都县| 胶南市| 昆明市| 吉安县| 镇坪县| 泰州市| 陇西县| 康平县| 阿尔山市| 枝江市| 河池市| 茶陵县| 湘乡市| 舞钢市| 张家口市| 南阳市| 衡水市| 阿拉善盟| 小金县| 滨州市| 平泉县| 阳西县| 萨迦县| 鄂温| 隆安县| 六枝特区| 石嘴山市| 扎赉特旗| 荃湾区| 丰都县| 饶阳县| 开阳县| 招远市| 青河县| 丰镇市| 定陶县| 文登市| 白沙| 孟连|