(Microsoft PowerPoint -

Similar documents
untitled

投影片 1

untitled

導讀 ASP.NET HTML ASP 第一篇 基礎篇第 1 章 認識 ASP.NET ASP.NET ASP.NET ASP.NET ASP.NET 第 2 章 認識 Visual Studio 20 開發環境 Visual Studio 20 Visual Studio 20 第二篇 C# 程式

2 ADO.NET Internet 1.2

ASP.NET MVC Visual Studio MVC MVC 範例 1-1 建立第一個 MVC 專案 Visual Studio MVC step 01 Visual Studio Web ASP.NET Web (.NET Framework) step 02 C:\M

學 科 100% ( 為 單 複 選 題, 每 題 2.5 分, 共 100 分 ) 1. 請 參 閱 附 圖 作 答 : (A) 選 項 A (B) 選 項 B (C) 選 項 C (D) 選 項 D Ans:D 2. 下 列 對 於 資 料 庫 正 規 化 (Normalization) 的 敘

untitled

6-1 Table Column Data Type Row Record 1. DBMS 2. DBMS MySQL Microsoft Access SQL Server Oracle 3. ODBC SQL 1. Structured Query Language 2. IBM

<463A5CC2A4B6ABD1A7D4BA5CBDCCD1A7D6B8C4CFD7DC5CA1B C B3CCD0F2C9E8BCC6A1B7BFCEB3CCD6B8C4CF2E646F63>

目錄

第 一 章 資料庫概念

untitled

untitled

R D B M S O R D B M S R D B M S / O R D B M S R D B M S O R D B M S 4 O R D B M S R D B M 3. ORACLE Server O R A C L E U N I X Windows NT w w

一 個 SQL Injection 實 例 的 啟 示 頁 2 / 6 因 此, 在 知 名 網 站 上 看 到 SQL Injection, 讓 人 驚 心, 卻 不 意 外 網 站 專 案 外 包 是 目 前 業 界 的 常 態, 而 在 價 格 取 勝 的 制 度 下, 低 價 得 標 的 S

教案模板4-2

使用手冊

Microsoft PowerPoint - course10.ppt

Microsoft PowerPoint - ASP_NET_08

if (command == null) throw new ArgumentNullException("command"); if (commandparameters!= null) foreach (SqlParameter p in commandparameters) if (p!= n

Chapter 00 導論

穨ac3-4.PDF

一 新增 SQL Express 2008 資料庫 步驟一 : 首先, 利用 VB 新增一個 Windows Form 應用程式的專案, 專案名稱為 MyDB 專案名稱為 MyDB 步驟二 : 接下來, 請執行 VB 功能表上的 專案 / 加入新項目, 此時, 請在 加 入新項目 的對話方塊中, 選

幻灯片 1

ebook 132-2

目錄... ivv...vii Chapter DETECT

MVB-1001.DOC

untitled

untitled

基于UML建模的管理管理信息系统项目案例导航——VB篇

Microsoft PowerPoint - vb13.ppt

HTML網頁基礎語言

ebook10-5

主程式 : public class Main3Activity extends AppCompatActivity { ListView listview; // 先整理資料來源,listitem.xml 需要傳入三種資料 : 圖片 狗狗名字 狗狗生日 // 狗狗圖片 int[] pic =new

untitled

Maasa停車場管理系統

VB控件教程大全


WQ.s92

11 天 山 区 区 环 卫 清 运 队 机 械 工 程 师 4011 C 1 不 限 不 限 机 电 具 有 两 以 工 作 经 12 天 山 区 乌 鲁 木 齐 市 第 15 小 会 计 4012 C 1 不 限 不 限 会 计 财 会 财 电 算 化 临 床 医 预 防 医 公 共 卫 生 与

DB2 (join) SQL DB2 11 SQL DB2 SQL 9.1 DB2 DB2 ( ) SQL ( ) DB2 SQL DB2 DB2 SQL DB2 DB2 SQL DB2 ( DB2 ) DB2 DB2 DB2 SQL DB2 (1) SQL (2) S

工程施工招标

RUN_PC連載_12_.doc

<4D F736F F D20C9CFBAA3CAD0BCC6CBE3BBFAB5C8BCB6BFBCCAD4C8FDBCB6BFBCCAD4B4F3B8D95FBDA8D2E9B8E55F5F E646F63>

习题1

ebook140-9

ASP.NET 2.0網頁設計範例教本

ebook140-8

使用SQL Developer

Oracle 4

Chapter 16 集合

mv t ï Catch ex As Exception MessageBox.Show(" «t ï ") Finally ' myconnection.close() End Try SqlConnection(ByVal connectionstring As String) pâ nç á

( )... 5 ( ) ( )

第七章

致理技術學院資訊管理學系專題企劃書格式建議書

Microsoft PowerPoint - C_Structure.ppt

Microsoft Word - cr_xi_supported_platforms_tw.doc

Chapter 1: Introduction

Oracle Database 10g: SQL (OCE) 的第一堂課

ebook 96-16

TopTest_Adminstrator.doc

数 据 库 系 统 基 础 2/54 第 6 章 数 据 库 管 理 与 维 护

ADO.NET 資料庫存取架構

untitled

3 Driver do Microsoft Access (*.mdb) hisdata IFIX 1.4

FileMaker 15 ODBC 和 JDBC 指南

FileMaker 16 ODBC 和 JDBC 指南

Microsoft PowerPoint - ch10.ppt [相容模式]

epub 61-2

第6章  数据库技术基础

Microsoft PowerPoint - VB14.ppt

RunPC2_.doc

ebook 165-1

12-1. 資料庫基礎觀念 (1). 使用 Access 建立資料庫及資料表 : (2)..NET 2005 讀取資料庫的部分, 雖然工具箱的控制項與.NET 2003 稍有不同, 但是核心程式碼, 還是維持與.NET 2003 相同的架構 (3). 但是.NET 2005 的 web 程式 (As

ebook43-11

SyncMail AJAX Manual

Microsoft Word - ACL chapter02-5ed.docx

Flexsim: (Open DataBase Connectivity, ODBC)

附件3:

untitled

untitled

untitled

ebook 165-5

Transcription:

Windows 程式設計 ADO.NET 資料存取 ( 一 ) 講師 : 林賢達 Peter.lin@imestech.com 課程大綱 安裝 SQL Server 2005 Express Edition RDBMS 基礎概念 測試資料庫簡介 ADO.NET 概述 Connection 物件與 Command 物件 Parameters 集合物件 DataReader 物件 資料繫結 RDBMS 基礎概念 資料庫是指一群彼此相關資料 (Data) 及資訊 (Information) 的集合 關聯式資料庫 (Relational Database) 使用資料表 (Table) 儲存資料 關聯式資料庫管理系統 (RDBMS) 是建立及維護資料庫的軟體, 例如 Microsoft SQL Server 2005 Oracle Database 11g 等 確保資料完整性與安全性

RDBMS 基礎概念 關聯式資料庫管理系統 ( 續 ) 提供系統管理與資料維護介面 支援 SQL 語法資料定義語言 (DDL), 建立資料表及資料欄位的指令集合 資料操縱語言 (DML), 對資料庫中的資料進行資料處理的指令集合, 例如新增 修改 刪除和查詢等操作資料控制語言 (DCL), 設定資料庫的使用權限或安全設定的指令集合 RDBMS 基礎概念 資料表包含欄位 ( 又稱資料行 ) 與資料列 主索引 (Primary Key), 以此欄位的值作為資料表中每一筆記錄的唯一識別 資料表之間使用外部索引 (Foreign Key) 建立關聯, 確保資料完整性 主資料表 關聯資料表及關聯欄位 關聯欄位必須具有相同的資料類型 主資料表的關聯欄位須建立主索引或唯一索引 RDBMS 基礎概念 主資料表 關聯資料表及關聯欄位 ( 續 ) 在關聯資料表的關聯欄位建立外部索引 正規化 (Normalize), 對資料模型進行最佳化處理, 避免資料重複

測試資料庫簡介 Employee: 員工基本資料表 Absent: 員工請假資料表 depart: 部門資料表 實體關聯圖 depart DeptNo DeptName employee EmpNo Name Sex Birthday Height Weight Salary DeptNo absent EmpNo AbsDate AbsType AbsHour ADO.NET 概述 ADO.NET 物件模型的主要組成 資料提供者 (Data Provider) 資料集合 (DataSet) ADO.NET 概述 Provider 封裝特定資料庫的存取細節, 以獲得最佳的執行效能 SQL Provider:System.Data.SqlClient 命名空間, 適用於 SQL Server 7.0 以上的版本 OLEDB Provider:System.Data.OleDb 命名空間, 存取 SQL Server 6.5 或者 MS Access 等 ODBC Provider:System.Data.Odbc 命名空間 Oracle Provider:System.Data.OracleClient 命名空間, 針對 Oracle 資料庫

ADO.NET 概述 使用不同的連線字串和命名空間來存取不同的資料庫, 但不管存取何種資料庫, 使用的 ADO.NET 物件模型都是 " 相同 " 的 Connection 類別 : 提供應用程序與資料來源之間的連線 Command 類別 : 下達欲執行的命令 DataReader 類別 : 從資料來源中取得唯讀且順向的資料 DataAdapter 類別 : 讀取和改變資料來源的資料 ADO.NET 概述 資料庫應用程式的開發程序 使用 Connection 物件開啟資料庫連線 使用 Command 物件執行 SQL 語法, 並取得傳回結果 (DataReader 物件 ) 關閉資料庫連線, 釋放資源 Managed Code ADO.NET Data Provider Database Connection 物件 對於不同的 Data Provider 有不同的 Connection 物件 建立方式 New SqlConnection() New SqlConnection( 連線字串 ) 連線字串, 如何連接資料庫的參數, 伺服器名稱 資料庫名稱 驗證方式和登入帳號與密碼等

Connection 物件 連線字串格式是由資料庫供應商來定義 http://www.connectionstrings.com/ http://www.carlprothman.net/default.aspx?tabid=81 例如存取 MS Access 資料庫的連線字串可以寫成 Provider=Microsoft.Jet.OLEDB.4.0;;Data Source=System.AppDomain.CurrentDomain.BaseDi rectory & "testdb.mdb" Connection 物件 重要成員 Open(): 開啟資料庫連線 ConnectionString: 指定連線字串參數 State:Connection 物件的狀態 (ConnectionState 列舉類型 ) Close(): 關閉資料庫連線 Command 物件 下達欲執行命令 建立方式 New SqlCommand() New SqlCommand(SQL 語法 ) New SqlCommand(SQL 語法, Connection 物件 ) New SqlCommand(SQL 語法, Connection 物件, Transaction 物件 )

Command 物件 重要成員 CommandText: 指定欲執行的 SQL 語法或者預存程序名稱等 CommandTimeOut: 等待資料來源回應的時間 CommandType: 指定命令類型, 包含 Text TableDirect 和 StoreProcedure 等三類 Command 物件 重要成員 ( 續 ) Connection: 指定使用哪一個 Connection 物件來執行命令 Parameters(Collection): 指定執行命令時所需的參數值 CreateParameter: 建立一個新的參數 Transaction: 指定加入哪一個 Transction 物件來執行交易處理 Command 物件 重要成員 ( 續 ) ExecuteNonQuery(): 執行資料異動 (Insert Update Delete), 傳回受影響的記錄筆數 ExecuteScalar(): 執行資料查詢, 傳回結果集合中的第一列第一欄位的單值 (Object 類型 ) ExecuteReader(): 執行資料查詢, 傳回一個 DataReader 物件 在關閉 DataReader 物件之前, 應用程式會一直保持此資料庫連線 ExecuteXmlReader: 執行命令, 傳回一個 XmlReader 物件

使用 SQL 語法存取資料 查詢語法 Select 資料表的欄位名稱或相關的運算式 From 資料表名稱 Where 限制條件或者子查詢 新增語法 Insert Into 資料表名稱 ( 欄位名稱 1, 欄位名稱 2, ) Values ( 欄位值 1, 欄位值 2, ) 若未指定欄位名稱, 則預設以資料表欄位定義的順序, 依序填入欄位值 使用 SQL 語法存取資料 修改語法 Update 資料表名稱 Set 欄位名稱 1= 欄位資料 1, 欄位名稱 2= 欄位資料 2 Where 限制條件或者子查詢 刪除語法 Delete From 資料表名稱 Where 限制條件或者子查詢 Parameters 集合物件 執行參數化查詢 使用步驟 在 SQL 語法或預存程序中指定參數在 OleDBCommand 使用? Select * From Employee Where EmpNo=? 在 SqlCommand 使用 @ Select * From Employee Where EmpNo=@EmpNo 建立對應的參數 New SqlParameter("@EmpNo", SqlDataType.VarChar, 4)

Parameters 集合物件 指定參數值 將參數加入至參數集合中 Add(): 加入新的參數 Clear(): 清除所有參數 Insert(): 插入參數至指定的位置 Remove(): 刪除參數 RemoveAt(): 根據索引值刪除對應的參數 範例 cmd.parameters.add("@empno", SqlDataType.VarChar, 4) cmd.parameters(0)="6508" DataReader 物件 對於不同的 Data Provider 有不同的 DataReader 物件 無建構子, 由 Command 物件的 ExecuteReader 方法建立 DataReader 物件實體 因為一次只讀取一筆記錄, 因此它是 ADO.NET 取得資料最有效率的方法 重要成員 Read(): 讀取下一筆記錄, 若傳回 False, 表示已無資料 提供一系列以 Get 開頭的方法, 用於取出目前紀錄的某個欄位值, 同時需搭配欄位類型, 例如使用 GetString(0) 取得第一個欄位的值, 其欄位類型為字串 資料繫結 (Data Binding) 什麼是資料繫結 使用 ADO.NET 將資料繫結到 Windows 表單的過程 撰寫程式實作資料繫結, 或者使用 VS 2005 可以繫結的物件 資料庫 物件, 任何實作 IEnumarable 介面的類別均可進行資料繫結, 例如 ArrayList

資料繫結 (Data Binding) 資料繫結的類型 簡單資料繫結, 將控制項繫結到單一的欄位值, 例如 Label TextBox CheckBox 等 複雜資料繫結, 將控制項繫結到一個多行多列的記錄集合, 例如 DataGrid ComboBox 等 具有 DataSource 屬性的控制項均可進行資料繫結 下課鐘響, 回家真好