第 13 章 ADO.NET 建立網頁資料庫 13-1 網頁資料庫的基礎13-1 網頁資料庫的基礎 13-2 建立資料庫連接13-2 建立資料庫連接 13-3 ADO.NET 的 DataReader 物件13-3 ADO.NET 的 DataReader 物件.

Slides:



Advertisements
Similar presentations
Divide-and-Conquer. 什麼是 divide-and-conquer ? Divide 就是把問題分割 Conquer 則是把答案結合起來.
Advertisements

6-1 指標簡介 6-2 指標與陣列 6-3 動態配置記憶體 6-4 本章綜合練習
布林代數的應用--- 全及項(最小項)和全或項(最大項)展開式
第 10 章 Java 的執行緒 10-1 執行緒的基礎 10-2 Java 執行緒的使用方法 10-3 Java 執行緒的同步 10-4 管道串流的執行緒.
學習C++的基本語法 認識關鍵字與識別字的不同 學習程式碼偵錯的流程 學習如何提高程式的可讀性
3Com Switch 4500 切VLAN教學.
第 15 章 建立網路應用程式 15-1 瀏覽程式的建立 15-1 瀏覽程式的建立 15-2 媒體播放程式 15-2 媒體播放程式 15-3 寄送電子郵件 15-3 寄送電子郵件 15-4 檢查 POP 3 的電子郵件 15-4 檢查 POP 3 的電子郵件.
1 Web of Science 利用指引 單元二 瀏覽與處理查詢結果. 2 瀏覽檢索結果 查出的結果,預設以時間排列, 使用者可改變結果的排列方式: 還可以依被引用次數、相關度、 第一作者、刊名、出版年等排序 回到前先查的結果畫面 點選想看資料的完整書目 本館訂購範圍的期刊 全文,便可直接連結.
: OPENING DOORS ? 題組: Problem Set Archive with Online Judge 題號: 10606: OPENING DOORS 解題者:侯沛彣 解題日期: 2006 年 6 月 11 日 題意: - 某間學校有 N 個學生,每個學生都有自己的衣物櫃.
第一章 變數、常數及資料型態. 變數 C 程式語言的變數名稱 第一個字必須是英文字母或底線 (_) 之後可以是數字, 英文字母或底線 (_) 不可以是保留字 例: Num (Ο) _score (Ο) C&C (X) 8num (X)
Last modified 2004/02 An Introduction to SQL (Structured Query Language )
國立聯合大學 資訊管理學系 陳士杰老師 MySQL5 視覺化資料庫管理工具 - MySQL Adminstrator.
1. 假設以下的敘述為一未提供 “ 捷徑計算 ” 能力的程式段,試用程 式設計的技巧,使此敘述經此改 寫的動作後,具有與 “ 捷徑計算 ” 之 處理方法相同之處理模式。 if and then E1 else E2 endif.
JAVA 程式設計與資料結構 第十四章 Linked List. Introduction Linked List 的結構就是將物件排成一列, 有點像是 Array ,但是我們卻無法直接經 由 index 得到其中的物件 在 Linked List 中,每一個點我們稱之為 node ,第一個 node.
第 18 章 名稱空間與例外處理 18-1 名稱空間 18-1 名稱空間 18-2 例外處理 18-2 例外處理.
1 單元三 查詢結果的引用分析 Web of Science 利用指引 查看出版及被引用情況 在查詢結果的清單中,可以瀏覽近 20 年來查詢主題出版和被引用的情況。
JAVA 程式設計與資料結構 第十章 GUI Introdution III. File Chooser  File Chooser 是一個選擇檔案的圖形介面, 無論我們是要存檔還是要開啟檔案,使 用這個物件都會讓我們覺得容易且舒適。
第 15 章 VB.NET 網路應用程式 15-1 瀏覽程式的建立 15-1 瀏覽程式的建立 15-2 媒體播放程式 15-2 媒體播放程式 15-3 寄送電子郵件 15-3 寄送電子郵件 15-4 檢查電子郵件 POP 檢查電子郵件 POP 3.
第 1 章 PC 的基本構造. 本章提要 PC 系統簡介 80x86 系列 CPU 及其暫存器群 記憶體: Memory 80x86 的分節式記憶體管理 80x86 的 I/O 結構 學習組合語言的基本工具.
Introduction to Java Programming Lecture 17 Abstract Classes & Interfaces.
第 5 章 深入 Response 物件 製作. 網頁的轉向與強制輸出 - 讓網頁轉彎的 Redirect 敘述 運用 Response 物件的 Redirect 方法,將瀏覽器顯 示的網頁,導向至其他網頁,語法如下: Response.Redirect 網頁路徑與名稱 此網頁路徑與名稱  若是導向到同一台.
:Problem D: Bit-wise Sequence ★★★☆☆ 題組: Problem Set Archive with Online Judge 題號: 10232: Problem D: Bit-wise Sequence 解題者:李濟宇 解題日期: 2006 年 4 月 16.
資源整合查詢系統. (2) 找尋資料時面臨的問題 1. 如何取得檢索結果的全文或相關資料 ? Ex: GoogleScholar, ISI SCI? 2. 如何看到參考文獻 (Citation, Reference) 的全文 ? 3. 該從那個資料庫開始查 ? 4. 如何分類儲存查詢結果 ? 5.
最新計算機概論 第 5 章 系統程式. 5-1 系統程式的類型 作業系統 (OS) : 介於電腦硬體與 應用軟體之間的 程式,除了提供 執行應用軟體的 環境,還負責分 配系統資源。
第12章 建立多表單與模組的應用程式 12-1 Visual Basic的方案與專案 12-2 模組化Visual Basic應用程式
1 MySQL 資料庫的使用 網頁資料庫的基礎 網頁資料庫的基礎 下載與安裝 MySQL 下載與安裝 MySQL 啟動 MySQL 伺服器 啟動 MySQL 伺服器 Web 介面的 MySQL 管理程式 Web 介面的 MySQL 管理程式 MySQL 建立資料庫 MySQL 建立資料庫 在 MySQL.
1 Netlibrary 電子書 Netlibrary 創始於 1998 年,是世界知名的電子書資 料庫,提供 450 多家出版社所出版近 100,962 ( 止)本的電子書,且以每月 2,000 本的 速度增加中。其中 80% 屬於學術性圖書,其餘 20% 一般圖書, 90% 以上為.
第三章 自動再裝載運用篇 使用時機:裝載計劃完成時,尚有剩餘空 間的情形,維持已固定計劃而繼續做裝載 最佳化。以支持次日裝載計劃而提前調整 作業模式。 裝載物品設定和裝載容器設定如前兩章介 紹,於此不再重複此動作,直接從裝載計 劃設定開始,直接從系統內定的物品和容 器選取所需.
第 10 章 視窗應用程式的工具列與 功能表 10-1 主功能表控制項 10-1 主功能表控制項 10-2 快顯功能表控制項 10-2 快顯功能表控制項 10-3 工具列控制項 10-3 工具列控制項 10-4 狀態列控制項 10-4 狀態列控制項 10-5 字型與色彩對話方塊 10-5 字型與色彩對話方塊.
資料庫程式設計與系統管理 SQL Server 2005 Express 第六章 進階資料庫設計.
第 10 章 網頁資料庫的查詢 10-1 從資料表取得單一欄位值 10-2 DataReader 物件以表格顯示資料表 10-3 SQL 的資料庫查詢指令 10-4 DataSet 物件的資料庫查詢 10-5 DataSet 物件的資料篩選 10-6 DataSet 物件與 XML.
: Multisets and Sequences ★★★★☆ 題組: Problem Set Archive with Online Judge 題號: 11023: Multisets and Sequences 解題者:葉貫中 解題日期: 2007 年 4 月 24 日 題意:在這個題目中,我們要定義.
第 17 章 架構拍賣網站 17-1 拍賣網站的基礎 17-2 SQL 指令的日期時間處理 17-3 拍賣網站的安裝與架構 17-4 拍賣網站的會員管理 17-5 新增拍賣物 17-6 參與拍賣競標出價 17-7 拍賣網站的系統管理功能.
從此處輸入帳號密碼登入到管理頁面. 點選進到檔案管理 點選「上傳檔案」上傳資料 點選瀏覽選擇電腦裡的檔案 可選擇公開或不公開 為平台上的資料夾 此處為檔案分類,可顯示在展示頁面上,若要參加 MY EG 競賽,做品一律上傳到 “ 98 MY EG Contest ” 點選此處確定上傳檔案.
第 13 章 檔案與資料夾處理 13-1 檔案與資料夾操作 13-1 檔案與資料夾操作 13-2 循序檔案的文字檔案讀寫 13-2 循序檔案的文字檔案讀寫 13-3 隨機檔案的處理 13-3 隨機檔案的處理 13-4 二進位檔案的讀寫 13-4 二進位檔案的讀寫 13-5 檔案對話方塊 13-5 檔案對話方塊.
資料結構實習-一 參數傳遞.
6-2 認識元件庫與內建元件庫 Flash 的元件庫分兩種, 一種是每個動畫專 屬的元件庫 (Library) ;另一種則是內建元 件庫 (Common Libraries), 兩者皆可透過 『視窗』功能表來開啟, 以下即為您說明。
1 Introduction to Java Programming Lecture 2: Basics of Java Programming Spring 2008.
Management Abstracts Retrieval System; MARS 檢索操作.
JAVA 程式設計與資料結構 第二十章 Searching. Sequential Searching Sequential Searching 是最簡單的一種搜尋法,此演 算法可應用在 Array 或是 Linked List 此等資料結構。 Sequential Searching 的 worst-case.
資料結構實習-二.
演算法 8-1 最大數及最小數找法 8-2 排序 8-3 二元搜尋法.
校園網頁整合平台介紹 電算中心綜合業務組. 大綱 設計理念 功能介紹 實做 FAQ 特殊案例 Q&A.
845: Gas Station Numbers ★★★ 題組: Problem Set Archive with Online Judge 題號: 845: Gas Station Numbers. 解題者:張維珊 解題日期: 2006 年 2 月 題意: 將輸入的數字,經過重新排列組合或旋轉數字,得到比原先的數字大,
第 17 章 樣板 17-1 樣板的基礎 17-1 樣板的基礎 17-2 樣板函數 17-2 樣板函數 17-3 樣板類別 17-3 樣板類別 17-4 非型態參數的樣板類別 17-4 非型態參數的樣板類別 17-5 樣板類別的繼承 17-5 樣板類別的繼承 17-6 特化樣板與靜態成員 17-6 特化樣板與靜態成員.
Chapter 10 m-way 搜尋樹與B-Tree
第12章 多重表單與模組的應用程式 12-1 VB.NET的方案與專案 12-2 模組化VB.NET應用程式 12-3 多重表單的應用程式
: Function Overloading ★★★☆☆ 題組: Problem Set Archive with Online Judge 題號: 11032:Function Overloading 解題者:許智祺 解題日期: 2007 年 5 月 8 日 題意:判對輸入之數字是否為.
第 17 章 泛型類別與.NET Framework 17-1.NET Framework 類別函式庫 17-1.NET Framework 類別函式庫 17-2 使用.NET FCL 的類別 17-2 使用.NET FCL 的類別 17-3 My 名稱空間的類別 17-3 My 名稱空間的類別 17-4.
第 10 章 視窗應用程式的工具列與 功能表 10-1 功能表控制項 10-1 功能表控制項 10-2 快顯功能表控制項 10-2 快顯功能表控制項 10-3 工具列控制項 10-3 工具列控制項 10-4 狀態列控制項 10-4 狀態列控制項 10-5 字型與色彩對話方塊 10-5 字型與色彩對話方塊.
無線通訊網路 Mac 層 TDM 通訊模式的操作與效能研究 專題生 : 林書弘、蔡逸祥、毛建翔、王政 華 指導教授 : 黃依賢.
1 Introduction to Java Programming Lecture 2: Basics of Java Programming Spring 2009.
5 重複迴圈 5.1 增減運算符號 增量運算符號 減量運算符號
SQL 進階查詢.
INTRODUCTION TO MATLAB SHAWNNTOU. What Is MATLAB? MATLAB® is a high-performance language for technical computing. MATLAB® is a high-performance language.
第 4 章 視窗應用程式表單的基本 輸出入 4-1 VB.NET 的物件觀念 4-1 VB.NET 的物件觀念 4-2 表單類別 4-2 表單類別 4-3 按鈕控制項 4-3 按鈕控制項 4-4 輸出資料的標籤控制項 4-4 輸出資料的標籤控制項 4-5 輸入資料的文字方塊控制項 4-5 輸入資料的文字方塊控制項.
INFORMATION RETRIEVAL AND EXTRACTION 作業: Program 1 第十四組 組員:林永峰、洪承雄、謝宗憲.
著作權所有 © 旗標出版股份有限公司 第 3 章 資料庫物件的關係. 本章提要 Access 資料庫物件的關係 Access 資料庫物件的關係 簡介 Access 的七大物件 簡介 Access 的七大物件 Access 的群組 Access 的群組.
第 9 章 網頁資料庫的操作 9-1 網頁資料庫的基礎 9-2 資料庫與 ODBC 的建立 9-3 SQL 語言的基礎 9-4 ADO.NET 的基礎 9-5 SQL 指令的資料庫操作 9-6 DataSet 的資料庫操作 9-7 使用參數 SQL 指令的資料庫操作.
-Artificial Neural Network- Matlab操作介紹 -以類神經網路BPN Model為例
Visual C++重點複習.
第 5 章 選擇控制項與條件敘述 5-1 結構化程式設計 5-1 結構化程式設計 5-2 關係與邏輯運算子 5-2 關係與邏輯運算子 5-3 簡單的條件敘述 5-3 簡單的條件敘述 5-4 選擇控制項 5-4 選擇控制項 5-5 巢狀條件敘述 5-5 巢狀條件敘述 5-6 多選一條件敘述 5-6 多選一條件敘述.
1 Introduction to Java Programming Lecture 2: Basics of Java Programming Spring 2010.
Microsoft Excel.
第8章 字串與陣列 8-1一維陣列的處理 8-2 字串處理 8-3 多維陣列的處理 8-4 動態陣列與參數傳遞 8-5 陣列排序與搜尋.
實體關係模型 (ER Model).
: Finding Paths in Grid ★★★★☆ 題組: Contest Archive with Online Judge 題號: 11486: Finding Paths in Grid 解題者:李重儀 解題日期: 2008 年 10 月 14 日 題意:給一個 7 個 column.
著作權所有 © 旗標出版股份有限公司 第 14 章 製作信封、標籤. 本章提要 製作單一信封 製作單一郵寄標籤.
第 1 章 PC 的基本構造. 本章提要 PC 系統簡介 80x86 系列 CPU 及其暫存器群 記憶體: Memory 80x86 的分節式記憶體管理 80x86 的 I/O 結構 學習組合語言的基本工具.
McGraw-Hill/Irwin © 2003 The McGraw-Hill Companies, Inc.,All Rights Reserved. 肆 資料分析與表達.
Presentation transcript:

第 13 章 ADO.NET 建立網頁資料庫 13-1 網頁資料庫的基礎13-1 網頁資料庫的基礎 13-2 建立資料庫連接13-2 建立資料庫連接 13-3 ADO.NET 的 DataReader 物件13-3 ADO.NET 的 DataReader 物件

13-1 網頁資料庫的基礎 資料庫系統 資料庫系統 ASP.NET 與資料庫 ASP.NET 與資料庫 ADO.NET 的簡介 ADO.NET 的簡介 如何建立 ASP.NET 如何建立 ASP.NET 網頁資料庫 網頁資料庫

資料庫系統 - 說明 資料庫系統本身就是一套應用程式, 目前的主流是關聯式資料庫系統,例 如: Access 、 MySQL 、 SQL Server 和 Oracle 等。 資料庫系統本身就是一套應用程式, 目前的主流是關聯式資料庫系統,例 如: Access 、 MySQL 、 SQL Server 和 Oracle 等。 可以使用 SQL 資料庫語言來儲存和管 理所需資料。 可以使用 SQL 資料庫語言來儲存和管 理所需資料。

資料庫系統 - 資料庫的組成: 資料表、記錄與欄位 1

資料庫系統 - 資料庫的組成: 資料表、記錄與欄位 2 資料表可以使用「索引」( Index )將資料 系統化的整理,以便在大量資料中快速找 到所需的資料或進行排序。 資料表可以使用「索引」( Index )將資料 系統化的整理,以便在大量資料中快速找 到所需的資料或進行排序。 例如:在通訊錄資料表使用編號欄位建立 主索引鍵,或稱為「主鍵」( Primary Key ), 如此就可以透過編號來加速資料表記錄的 搜尋和排序。 例如:在通訊錄資料表使用編號欄位建立 主索引鍵,或稱為「主鍵」( Primary Key ), 如此就可以透過編號來加速資料表記錄的 搜尋和排序。

ASP.NET 與資料庫 網頁資料庫是一種結合前端 HTML 文件或 Web 表單 的使用介面,配合後端 Web 伺服器和資料庫系統 的一種應用程式架構,如下圖所示: 網頁資料庫是一種結合前端 HTML 文件或 Web 表單 的使用介面,配合後端 Web 伺服器和資料庫系統 的一種應用程式架構,如下圖所示:

ADO.NET 的簡介 ADO.NET 是是「 ADO 」( ActiveX Data Object )元件的後繼者,其主要目的是 在.NET Framework 平台存取資料。ADO.NET 是是「 ADO 」( ActiveX Data Object )元件的後繼者,其主要目的是 在.NET Framework 平台存取資料。 以 ASP.NET 來說, ADO.NET 的主要功能是 存取資料庫,所以 ASP.NET 使用 ADO.NET , 一般來說都是為了建立網頁資料庫。 以 ASP.NET 來說, ADO.NET 的主要功能是 存取資料庫,所以 ASP.NET 使用 ADO.NET , 一般來說都是為了建立網頁資料庫。

如何建立 ASP.NET 網頁資料庫 ASP.NET 配合 ADO.NET 建立網頁資料庫的 步驟,如下所示:ASP.NET 配合 ADO.NET 建立網頁資料庫的 步驟,如下所示: – 建立資料庫 – 建立資料庫連接:使用 ADO.NET 的 OLE DB 提 供者來建立資料庫連接。 – 存取資料庫:使用 ADO.NET 的 DataReader 或 DataSet 來存取資料庫的記錄資料。 – 執行網頁資料庫:啟動瀏覽程式執行 ASP.NET 程式,以便測試網頁資料庫的執行結果。

13-2 建立資料庫連接 ADO.NET 的名稱空間 ADO.NET 的名稱空間 建立 Connection 物件 建立 Connection 物件

ADO.NET 的名稱空間 ASP.NET 程式需要匯入指定的名稱空間,才能使 用 ADO.NET 類別來存取資料庫。ASP.NET 程式需要匯入指定的名稱空間,才能使 用 ADO.NET 類別來存取資料庫。

建立 Connection 物件 - 說明 Connection 物件可以建立 ASP.NET 程式與存 取資料來源的連結和初始資料庫。Connection 物件可以建立 ASP.NET 程式與存 取資料來源的連結和初始資料庫。 Connection 物件有兩種:Connection 物件有兩種: –OLE DB 是使用 OleDbConnection 物件。 –SQL Server 是使用 SqlConnection 物件。

建立 Connection 物件 - 匯入名 稱空間 在 ASP.NET 程式需要匯入所需名稱空間,才能使用 ADO.NET 的類別和物件,如下所示: 在 ASP.NET 程式需要匯入所需名稱空間,才能使用 ADO.NET 的類別和物件,如下所示: SQL Server 與 SQL Server Express 匯入的名稱空間:SQL Server 與 SQL Server Express 匯入的名稱空間:

建立 Connection 物件 - 步驟一:建立 Connection 物件 1 在 ASP.NET 程式建立 Connection 物件,就是宣告和 建立 OleDbConnection 物件變數 objCon ,如下所示: 在 ASP.NET 程式建立 Connection 物件,就是宣告和 建立 OleDbConnection 物件變數 objCon ,如下所示: OleDbConnection objCon = new OleDbConnection(strDbCon); new OleDbConnection(strDbCon); 程式碼使用 new 運算子建立名為 objCon 的 OleDbConnection 物件, strDbCon 變數是資料來源 字串,如下所示: 程式碼使用 new 運算子建立名為 objCon 的 OleDbConnection 物件, strDbCon 變數是資料來源 字串,如下所示: string strDbCon="Provider=Microsoft.Jet.OLEDB.4.0; “ + "Data Source=" + Server.MapPath("iPods.mdb"); + "Data Source=" + Server.MapPath("iPods.mdb");

建立 Connection 物件 - 步驟一:建立 Connection 物件 2 連接 SQL Server 與 SQL Server Express 資料庫的 SqlConnection 物件,如下所示: 連接 SQL Server 與 SQL Server Express 資料庫的 SqlConnection 物件,如下所示: strDbCon = "server=localhost;database=iPods;uid=sa;pwd=1234"; SqlConnection objCon = new SqlConnection(strDbCon); 另一種寫法,如下所示: 另一種寫法,如下所示: strDbCon="user id=sa;password=1234; ;" + "initial catalog=iPods;" + "data source=localhost"; "initial catalog=iPods;" + "data source=localhost";

建立 Connection 物件 - 步驟一:建立 Connection 物件 3 至於 SQL Server 2005 Express 的連接字串,如下所 示: 至於 SQL Server 2005 Express 的連接字串,如下所 示: strDbCon="Data Source=.\SQLEXPRESS;AttachDbFilename=" + Server.MapPath("iPods.mdf") + Server.MapPath("iPods.mdf") + ";Integrated Security=True;" + ";Integrated Security=True;" + "TrustServerCertificate=False;" + "TrustServerCertificate=False;" + "User Instance=True;Context Connection=False"; "User Instance=True;Context Connection=False"; 上述連接字串的 Data Source 屬性是.\SQLEXPRESS , AttachDbFilename 屬性是資料庫名稱,副檔名 是.mdf 。 上述連接字串的 Data Source 屬性是.\SQLEXPRESS , AttachDbFilename 屬性是資料庫名稱,副檔名 是.mdf 。

建立 Connection 物件 - 步驟二:開啟資料庫連接 在建立好 Connection 物件後,就可以使用 Open() 方法開啟資料庫連接,如下所示; 在建立好 Connection 物件後,就可以使用 Open() 方法開啟資料庫連接,如下所示;objCon.Open(); 上述程式碼使用名為 objCon 的 Connection 物 件來開啟資料庫連接。 上述程式碼使用名為 objCon 的 Connection 物 件來開啟資料庫連接。

建立 Connection 物件 - 步驟三:資料庫操作與查詢 在建立好 Connection 資料庫連接物件後,就 可以使用 State 屬性檢查目前資料庫的連接狀 態,如下所示: 在建立好 Connection 資料庫連接物件後,就 可以使用 State 屬性檢查目前資料庫的連接狀 態,如下所示: if (objCon.State == ConnectionState.Open) { Response.Write(" 目前為開啟狀態 "); Response.Write(" 目前為開啟狀態 ");} else { Response.Write(" 目前為關閉狀態 "); Response.Write(" 目前為關閉狀態 ");}

建立 Connection 物件 - 步驟四:關閉資料庫連接 在完成資料庫操作後,請使用 Connection 物 件的 Close() 方法關閉資料庫連接。以 Connection 物件 objCon 為例,如下所示: 在完成資料庫操作後,請使用 Connection 物 件的 Close() 方法關閉資料庫連接。以 Connection 物件 objCon 為例,如下所示:objCon.Close();

13-3 ADO.NET 的 DataReader 物件 Command 與 DataReader 物件 Command 與 DataReader 物件 開啟 DataReader 物件 開啟 DataReader 物件 取得記錄的欄位名稱與值 取得記錄的欄位名稱與值 使用表格顯示資料表 使用表格顯示資料表

13-3 ADO.NET 的 DataReader 物件 ASP.NET 網頁資料庫就是使用 ADO.NET 的 DataReader 或 DataSet 物件來取得記錄資料,本節將 說明如何用 Command 物件執行 SQL 指令來取得 DataReader 物件的資料表記錄。ASP.NET 網頁資料庫就是使用 ADO.NET 的 DataReader 或 DataSet 物件來取得記錄資料,本節將 說明如何用 Command 物件執行 SQL 指令來取得 DataReader 物件的資料表記錄。

Command 與 DataReader 物件 - Command 物件 Command 物件可以針對資料來源執行 SQL 指令,我們 可以使用 Command 物件送出 SQL 指令來新增、刪除、 更新和查詢資料表的記錄。Command 物件可以針對資料來源執行 SQL 指令,我們 可以使用 Command 物件送出 SQL 指令來新增、刪除、 更新和查詢資料表的記錄。 ASP.NET 程式需要先使用 Connection 物件建立和開啟 資料庫連接後,才能使用 Command 物件執行 SQL 指令。ASP.NET 程式需要先使用 Connection 物件建立和開啟 資料庫連接後,才能使用 Command 物件執行 SQL 指令。 Command 物件分為兩種Command 物件分為兩種 –OLE DB 使用 OleDbCommand 物件 –SQL Server 使用 SqlCommand 物件。

Command 與 DataReader 物件 - DataReader 物件 DataReader 物件是執行 SQL 指令傳回的記錄資料,這是 「唯讀」( Read-Only )和「只能向前」( Forward-Only ) 的串流資料。因其每次只會從資料來源讀取一列資料(即 一筆)儲存到記憶體,所以讀取資料的執行效率非常高。DataReader 物件是執行 SQL 指令傳回的記錄資料,這是 「唯讀」( Read-Only )和「只能向前」( Forward-Only ) 的串流資料。因其每次只會從資料來源讀取一列資料(即 一筆)儲存到記憶體,所以讀取資料的執行效率非常高。 DataReader 物件也分為兩種DataReader 物件也分為兩種 –OLE DB 使用 OleDbDataReader 物件 –SQL Server 使用 SqlDataReader 物件

開啟 DataReader 物件 - 步驟一:開啟 Connection 物件的資料庫連接 ASP.NET 程式建立 DataReader 物件需要使用 Connection 物件開啟資料庫連接:ASP.NET 程式建立 DataReader 物件需要使用 Connection 物件開啟資料庫連接: OleDbConnection objCon = new OleDbConnection(strDbCon); new OleDbConnection(strDbCon);objCon.Open(); 上述程式碼建立 objCon 的 Connection 物件後,使用 Open() 方法開啟資料庫連接。 上述程式碼建立 objCon 的 Connection 物件後,使用 Open() 方法開啟資料庫連接。

開啟 DataReader 物件 - 步驟二:建立 Command 物件 在建立好 Connection 物件後,就可以使用 SQL 指令 和 Connection 物件作為參數來建立 Command 物件, 如下所示: 在建立好 Connection 物件後,就可以使用 SQL 指令 和 Connection 物件作為參數來建立 Command 物件, 如下所示: string strSQL = "SELECT * FROM iPod"; OleDbCommand objCmd = new OleDbCommand(strSQL, objCon); new OleDbCommand(strSQL, objCon); 上述程式碼使用 new 運算子建立 Command 物件, 第 2 個參數是開啟的 Connection 物件,表示向此資 料來源執行第 1 個參數的 SQL 指令。 上述程式碼使用 new 運算子建立 Command 物件, 第 2 個參數是開啟的 Connection 物件,表示向此資 料來源執行第 1 個參數的 SQL 指令。

開啟 DataReader 物件 - 步驟三:執行 SQL 指令查詢資料表 接著使用 Command 物件的 ExecuteReader() 方法執行 SQL 查詢指令,如下所示: 接著使用 Command 物件的 ExecuteReader() 方法執行 SQL 查詢指令,如下所示: OleDbDataReader objDataReader = objCmd.ExecuteReader(); objCmd.ExecuteReader(); 上述程式碼取得 DataReader 物件 objDataReader ,讀 者可以想像它是開啟一個資料庫的檔案串流。 上述程式碼取得 DataReader 物件 objDataReader ,讀 者可以想像它是開啟一個資料庫的檔案串流。

開啟 DataReader 物件 - 步驟四:檢查狀態或讀取記錄資料 DataReader 物件是一種資料串流,可以使用 IsClosed 屬性檢查 DataReader 串流是否已經開啟, 如下所示:DataReader 物件是一種資料串流,可以使用 IsClosed 屬性檢查 DataReader 串流是否已經開啟, 如下所示: if (objDataReader.IsClosed == false) { Response.Write(" DataReader 物件為開啟狀態 "); Response.Write(" DataReader 物件為開啟狀態 ");}else{ Response.Write(" DataReader 物件為關閉狀態 "); Response.Write(" DataReader 物件為關閉狀態 ");}

開啟 DataReader 物件 - 步驟五:關閉 DataReader 和資料庫連接 最後可以關閉 DataReader 串流物件和資料庫連接, 如下所示: 最後可以關閉 DataReader 串流物件和資料庫連接, 如下所示:objDataReader.Close();objCon.Close(); 上述程式碼使用 Close() 方法關閉 DataReader 和 Connection 物件。 上述程式碼使用 Close() 方法關閉 DataReader 和 Connection 物件。

取得記錄的欄位名稱與值 - 說 明 當 ASP.NET 程式使用 Command 物件的 ExecuteReader() 方法取得 DataReader 物件後,我們 可以將 DataReader 物件視為一種類似檔案的記錄串 流,在檔案中的每一列是一筆記錄,一次讀取一 筆記錄,如下圖所示: 當 ASP.NET 程式使用 Command 物件的 ExecuteReader() 方法取得 DataReader 物件後,我們 可以將 DataReader 物件視為一種類似檔案的記錄串 流,在檔案中的每一列是一筆記錄,一次讀取一 筆記錄,如下圖所示:

取得記錄的欄位名稱與值 - 讀 取記錄 在開啟 DataReader 物件後,記錄指標是指向 第 1 筆記錄之前,程式可以使用 Read() 方法 讀取下一筆記錄,如下所示: 在開啟 DataReader 物件後,記錄指標是指向 第 1 筆記錄之前,程式可以使用 Read() 方法 讀取下一筆記錄,如下所示:objDataReader.Read(); 上述程式碼執行 Read() 方法,換句話說,目 前記錄指標就會移到下一筆,指向第 1 筆記 錄,即 MA146LL 。 上述程式碼執行 Read() 方法,換句話說,目 前記錄指標就會移到下一筆,指向第 1 筆記 錄,即 MA146LL 。

取得記錄的欄位名稱與值 - 相 關方法 現在我們可以使用欄位定義資料的原始順序來取 得欄位值、檢查欄位值是否存在或欄位的資料類 型。其相關方法如下表所示: 現在我們可以使用欄位定義資料的原始順序來取 得欄位值、檢查欄位值是否存在或欄位的資料類 型。其相關方法如下表所示:

使用表格顯示資料表 - 說明 ASP.NET 程式可以使用表格,一列代表一 筆記錄,每一欄為一個欄位來顯示資料表 的記錄資料,程式是使用 HTML/XHTML 表 格標籤來顯示資料表。ASP.NET 程式可以使用表格,一列代表一 筆記錄,每一欄為一個欄位來顯示資料表 的記錄資料,程式是使用 HTML/XHTML 表 格標籤來顯示資料表。 亦可直接使用 DataGrid 控制項,以資料繫結 方式來顯示資料表的記錄資料。 亦可直接使用 DataGrid 控制項,以資料繫結 方式來顯示資料表的記錄資料。

使用表格顯示資料表 - 讀取 DataReader 物件如同串流物件, ASP.NET 程式可以 使用 while 迴圈來讀取資料表的記錄,如下所示:DataReader 物件如同串流物件, ASP.NET 程式可以 使用 while 迴圈來讀取資料表的記錄,如下所示: while (objDR.Read()) { Response.Write(" "); Response.Write(" "); Response.Write(" "+ objDR["ModelNo"] +" "); Response.Write(" "+ objDR["ModelNo"] +" "); Response.Write(" "+ objDR["Name"] + " "); Response.Write(" "+ objDR["Name"] + " "); Response.Write(" "+ objDR["Storage"] +" "); Response.Write(" "+ objDR["Storage"] +" "); Response.Write(" "+ objDR["Price"] + " "); Response.Write(" "+ objDR["Price"] + " "); Response.Write(" "+ objDR["StockDate"] + " "); Response.Write(" "+ objDR["StockDate"] + " "); Response.Write(" "); Response.Write(" ");}

使用表格顯示資料表 - 取得欄位 DataReader 物件是一個集合物件,可以使用欄位名 稱或欄位順序來取得欄位值,如下所示:DataReader 物件是一個集合物件,可以使用欄位名 稱或欄位順序來取得欄位值,如下所示: Response.Write(" "+ objDR["Name"] + " "); Response.Write(" " + objDR[1] + " "); 程式碼的字串 Name 是欄位名稱,數值 1 是欄位 Name 的原始順序,取得資料的型態是資料庫欄位 的資料類型,以此例為 string 字串,如果是 Price 欄 位就是 decimal 資料型態。 程式碼的字串 Name 是欄位名稱,數值 1 是欄位 Name 的原始順序,取得資料的型態是資料庫欄位 的資料類型,以此例為 string 字串,如果是 Price 欄 位就是 decimal 資料型態。

完整範例 <html> 使用表格顯示資料表 使用表格顯示資料表 <body> 型號 名稱 容量 型號 名稱 容量 價格 進貨日期 價格 進貨日期 <% // OLEDB 提供者字串 string strDbCon = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + Server.MapPath("iPods.mdb"); "Data Source=" + Server.MapPath("iPods.mdb"); // 建立 Connection 物件 OleDbConnection objCon = new OleDbConnection(strDbCon); objCon.Open(); // 開啟資料庫連接 string strSQL = "SELECT * FROM iPod"; // 建立 Command 物件的 SQL 指令 OleDbCommand objCmd = new OleDbCommand(strSQL, objCon); // 取得 DataReader 物件 OleDbDataReader objDR = objCmd.ExecuteReader(); // 顯示資料表的記錄 while (objDR.Read()) { Response.Write(" "); Response.Write(" "); Response.Write(" "+ objDR["ModelNo"] +" "); Response.Write(" "+ objDR["ModelNo"] +" "); Response.Write(" "+ objDR["Name"] + " "); Response.Write(" "+ objDR["Name"] + " "); Response.Write(" "+ objDR["Storage"] +" "); Response.Write(" "+ objDR["Storage"] +" "); Response.Write(" "+ objDR["Price"] + " "); Response.Write(" "+ objDR["Price"] + " "); Response.Write(" "+ objDR["StockDate"] + " "); Response.Write(" "+ objDR["StockDate"] + " "); Response.Write(" "); Response.Write(" ");} objDR.Close(); // 關閉 DataReader objCon.Close(); // 關閉資料庫連接 %></table></body></html>

13-6 ASP.NET 控制項與資料繫結 ASP.NET 資料繫結的基礎 ASP.NET 資料繫結的基礎 補充 : GridView 控制項的資料繫結 補充 : GridView 控制項的資料繫結

ASP.NET 資料繫結的基礎 - 說明 ASP.NET 的 Web 控制項支援資料繫結技術,可以 將不同資料來源的集合物件、陣列、 DataReader 或 DataView 物件整合到 ASP.NET 的 Web 控制項。ASP.NET 的 Web 控制項支援資料繫結技術,可以 將不同資料來源的集合物件、陣列、 DataReader 或 DataView 物件整合到 ASP.NET 的 Web 控制項。 不過,並非每一個 Web 控制項都支援資料繫結技 術,只有擁有 DataSource 屬性的 Web 控制項才支援 資料繫結。 不過,並非每一個 Web 控制項都支援資料繫結技 術,只有擁有 DataSource 屬性的 Web 控制項才支援 資料繫結。

ASP.NET 資料繫結的基礎 - 步驟 在 ASP.NET 程式的 Web 控制項使用資料繫結 的步驟,如下所示: 在 ASP.NET 程式的 Web 控制項使用資料繫結 的步驟,如下所示: –Step 1 :定義資料來源和取得資料來源的資料物 件。 –Step 2 :指定控制項的 DataSource 屬性為此資料 來源的資料物件,以資料庫來說就是 DataReader 等物件。 –Step 3 :執行控制項的 DataBind() 方法建立資料 連結。

補充 : GridView 控制項的資料繫結 GridView1.DataSource = objCmd.ExecuteReader(); GridView1.DataBind();