Visual C# 2010 程式設計經典 第15章 ADO .NET與資料工具.

Slides:



Advertisements
Similar presentations
ADO.NET – 连接数据库. 2 课程地位 STB SQL Server XML PSPM ASP.NET Oracle OOAD Computer Base HTML&JavaScript OOP\Java C C SQL Base JSP/Servlet EJB/WebService C#
Advertisements

教育技术装备统计系统 使用培训 教育部基础教育司 教育部教育管理信息中心.
主讲:史治平 地址:四川电大计算机教研室 电话:
第21章 .NET报表设计 (时间:1.5次课,3学时).
硕士论文开题报告 煤炭企业物流信息系统的 研究与设计 指导老师: 学生姓名: 学 号:
姻緣天注定 定婚店 李復言.
第7章利用ADO.NET 进行数据访问.
ADO .NET 簡介.
資料庫系統 曾俊雄.
第8章 设计数据库应用网站 本章讲述的主要内容 8.1 数据库基础知识 8.2 使用数据库系统 8.3 SQL查询基础
Access数据库知识 安丘市职业中专 雷云龙.
第六章 数据库和ADO.NET 褚龙现 软件学院.
TBSMGS数据存储管理软件 北京金信桥信息技术有限公司 2010年05月27日.
第7章 数据库基础知识 SQL常用命令使用方法 (1) 数据记录筛选: sql="select * from 数据表
第 2 章 Access 操作環境介紹.
在线考试系统 答辩人: 朱允昌、朱碧云、张海燕 汇报时间: 指导老师: 任艳、徐怡 软件应用与开发类
在线考试系统 答辩人: 朱允昌、朱碧云、张海燕 汇报时间: 指导老师: 任艳、徐怡 软件应用与开发类
面向对象程序设计 (Visual C# .NET)
转正述职报告 乐恩公司 史航
数据库管理软件 Access 2003的使用 安丘市职业中专 雷云龙 1.
第二期实验室工作人员培训讲座(三) 加强规范化建设 提高仪器设备管理水平 设备处 黄久龙 2017年9月13日 徐州师范大学设备处 黄久龙.
第1章 程式語言與Visual Basic的基礎
第ㄧ章 認識 VB 2008 與主控台應用程式 注意:本投影片僅供上課使用,非經同意,請勿散播或轉載。
Microsoft Access 第十二組 黃彥維 陳重嘉.
Microsoft .NET 第4組 十月15, 2002 B 陳東傑 B 蔣佳勳
国家“十一五”规划教材 数据库原理与应用教程(第3版).
国家“十一五”规划教材 数据库原理与应用教程(第3版).
資料庫程式設計 VB資料庫設計簡介 週次:4 建國科技大學 資管系 饒瑞佶.
第16章 Windows Form與資料繫結 16-1 資料繫結的基礎 16-2 在專案新增資料來源 16-3 使用資料來源建立單筆編輯表單
第15章 数据报表与数据图表.
指導老師 : 張文智 組員: B 黃美華 B 林耕宇 B 蕭凱中 B 游振偉
ADO.NET.
第20章 LINQ 資料查詢技術 注意: 本投影片僅供本書上課教師使用,非經同意請勿上網轉載或拷貝.
主 讲 教 师:陆有军 Web技术与应用 第六章 ADO.NET 主 讲 教 师:陆有军
課程名稱:資料庫系統 授課老師:李春雄 博士
第2章 ADO.NET 2.0概述.
第十四章 資料庫應用程式 14.1 ADO.NET簡介 14.4 資料的單筆巡覽、新增、 修改、刪除
資料庫程式設計 VB資料庫設計簡介 週次:2 建國科技大學 資管系 饒瑞佶.
VB如何存取資料庫 ? 資料庫 資料儲存 資料庫引擎 資料庫引擎 Jet 讀取、寫入與修改 資料控制項 資料庫存取物件(ADO) 使用者介面.
第2章 Visual FoxPro 简介 Visual FoxPro概述 Visual FoxPro设计工具
数据保护技术(完整性、并发性、安全性和数据库恢复)
第9章 事务.
开发Web Services 客户端程序 杨永智 MCT/MVP 微软校园大使.
第二十五章 應用Internet Express的程式開發
操作数据库 C#程序设计课程组.
使用ADO.NET访问数据 数据库连接 C#程序设计课程组.
《网上报告厅》使用说明 北京爱迪科森教育科技股份有限公司.
課程名稱:_____________ 指導教授:_____________
C# 程序设计教程 同济大学计算机系基础学科组
第 8 章 VB.NET与数据库应用程序 本章主要内容: ADO.NET体系结构; VB.NET与SQL Server数据库的连接;
講師:戴志華 國立台灣大學電機工程研究所 Visual Basic 程式設計 講師:戴志華 國立台灣大學電機工程研究所.
数据库技术与应用 (开学篇) 同济大学.
微软云计算 --Windows Azure platform
Totoro大冒險 電腦遊戲設計 資三B 李沛儀 資三B 張家瑜.
第十讲 学生成绩管理系统(一) 精品教程《C#程序设计与应用(第2版)清华大学出版社 谭恒松 主编
SQL Server Mobile 2005 程序开发(三)
第1章 SQL Server 2005概述 教学提示:SQL Server 2005是微软的下一代数据管理和分析解决方案,它给企业级应用数据和分析程序带来更好的安全性、稳定性和可靠性,使得它们更易于创建、部署和管理,从而可以在很大程度上帮助企业根据数据做出更快、更好的决策,提高开发团队的生产力和灵活度,以及在减少总体IT预算的同时,能够扩展IT基础架构以更好地满足多种需求。
21世纪高职高专规划教材 C#语言程序设计 李继武 彭德林 主 编 张 珑 赵 松 周建辉 副主编
通讯录管理系统设计 常州工程职业技术学院 计算机技术系.
第 10 章 ADO.NET與XML.
COM组件及其设计 一、COM组件定义和DNA思想简介 二、COM组件的特点 三、COM组件对象的软件工程方法 四、DNS、MTS
光輪2000升級 升級SQL Server Analysis Services 2005
1 打开 SQL Server 2005 安装盘,单击 SPLASH.HTA 文件进行安装,安装界面如图所示。
ASP.NET实用教程 清华大学出版社 第9章数据库应用 教学目标 教学重点 教学过程 2019年5月3日.
IT DNA- 微軟MVP、資深IT人胡百敬 資訊產業全攻略!IT知識工作者聯手推薦! 資訊新鮮人》 專業資訊人》 知識工作者》
HOOK和数据库访问 主讲人:孙鑫
第十二章 Visual FoxPro开发Web数据库
安裝 Visual C Express Edition
SQL Server 2005 Reporting Services報表設計
数据库应用技术 天津电大 翟迎建.
Presentation transcript:

Visual C# 2010 程式設計經典 第15章 ADO .NET與資料工具

15.1 資料工具簡介 .NET應用程式在資料庫程式設計方面,是使用ADO .NET做為存取資料庫的介面,目前為ADO .NET 4.0版本。 ADO .NET採用新穎的物件觀念,是專為Microsoft .NET平台所量身打造的,由於採用離線存取模式,可供多人同時存取,因此特別適合在Internet環境中使用。 本章將介紹如何使用BindingSource、 DataGridView 、 DataSet及BindingNavigaor資料控制項快速建立簡單的資料庫應用程式,並說明如何使用上述控制項提供的方法對資料庫中的資料表記錄做查詢、新增、修改、刪除、關聯…等處理。

BindingSource 控制項可用來取得資料來源並繫結至表單的控制項上,並提供Insert()、RemoveAt()…等方法,可簡化資料新增、修改、刪除、篩選、巡覽的操作。 DataSet 控制項可以用來設定具型別的DataSet物件,DataSet內允許有多個DataTable,DateSet就好像是記憶體中的資料庫,DataTable就好像是記憶體中的資料表,您可將DataTable物件進行關聯,或將記憶體DataSet進行新增、修改、刪除,然後再一次存回資料庫。 DataGridView 控制項可用來在表單上顯示和編修各種不同資料來源的表格式資料。 BindingNavigator 控制項可以用來在表單上巡覽、新增、刪除DataSet中的資料。若BindingNavigator 和BindingSource 控制項搭配使用,可以操作資料庫上的資料,如記錄移動、新增、刪除等功能。

15.2 資料庫概念 資料庫 就是以一貫作業方式,將一群相關資料收集,在 「資料庫管理系統」控制下,達到統一管理目的。 資料庫 就是以一貫作業方式,將一群相關資料收集,在 「資料庫管理系統」控制下,達到統一管理目的。 資料庫管理系統 是一套用來管理與存取資料庫檔案的程式。 一個公司各部門有其個別資料,彼此間也有共同資料  若公司電腦化,各部門資料各自獨立管理。  某些共用資料各部門重複建檔。  資料分散,異動更改多處,易造成資料不一致, 且資料安全性不高。

若能以資料庫的方式來建立資料  使得各部門間所建立的資料檔或資料表彼此 間產生關聯(Relation)。  透過資料庫管理程式來處理資料 便可達到 資料集中管理的效果。

15.2.1 資料庫與資料表 多個相關的資料表便可組成一個資料庫。 15.2.1 資料庫與資料表 欄位(Column) 多個相關的資料表便可組成一個資料庫。 資料表為二維結構  每一水平列稱為一筆記錄;  每一垂直行為一組欄位資料。 資料庫最少會包含有一個資料表,資料表中包含 所需的資料欄位(Field) 。

小型資料庫如 Access 資料庫,是將多個資料表儲存在 一個副檔名為 小型資料庫如 Access 資料庫,是將多個資料表儲存在 一個副檔名為 *.mdb 資料庫檔案中  優點 普遍且易建立  缺點 不適合處理超大量資料,個人應用綽綽有餘。 大型資料庫如 Microsoft SQL Server資料庫,可將 資料庫分散在不同硬碟、甚至不同電腦上:  優點 執行效能高 (數秒內可從數千萬筆資料中搜尋 所需要的資料)、適合用在處理超大量資料。  缺點 必須另外學習資料庫管理與建置方法,及 購置資料庫軟硬體,一般較常用在企業上。

15.2.2 關聯式資料庫 「關聯式資料庫」主要是為 避免資料重複登錄,以及 防止資料做新增、修改、 刪除發生異常。 15.2.2 關聯式資料庫 「關聯式資料庫」主要是為 避免資料重複登錄,以及 防止資料做新增、修改、 刪除發生異常。 做法是產生關聯的資料表必須有使資料表彼此間可互相對應的欄位方能產生關聯。

未經過正規化的資料表

經過正規化的資料表

15.3 SQL Express資料庫介紹 15.3.1 SQL Server 2008簡介 Microsoft SQL Server 屬於大型的資料庫,目前已發展到SQL Server 2008的版本 該資料庫可分散在不同的磁碟、甚至是不同的電腦上 優點 可結合應用XML、執行效能高(數秒內就可以從數千萬筆 資料中搜尋出所需要的資料)、適合用在處理超大量資料 缺點 是必須另外學習資料庫的管理與建置方法,較常用在企業。 ADO.NET 可存取 SQL Server 7.0 以上的版本。

當安裝 Visual C# 2010 Express Edition 時預設會安裝 SQL 2008 Express 版本。 該版本屬於 SQL Server 2008 的精簡版。 它含蓋 SQL Server 常用功能,如資料表、檢視表、 函式、預存程序或觸發器…等等。 透過VC# 2010 的「資料庫總管」視窗可連接 SQL Server 2008 或 SQL 2008 Express 資料庫。 可透過「資料庫總管」視窗來管理資料表、檢視表、 函式、預存程序或觸發器(在VS 2010中資料庫總管稱為伺服器總管)。

15.3.2 如何新增SQL 2008 Express 資料庫 練習透過Visual Studio 2010或Visual C# 2010 Express Edition整合開發環境來建立SQL Express 2008的資料庫。 本例操作步驟請參閱15-7~15-8頁或教學影片。

15.3.3 資料表欄位的資料型別

15.3.4 如何設計資料表 資料表在建立時,一定要先規畫好每一個欄位的資料型別與相關屬性,最後才進一步輸入資料表的記錄。

本例操作步驟請參閱15-10~15-15頁或教學影片。

15.3.5 如何設計資料庫圖表 在Visual Studio 2010透過「伺服器總管」可以管理所連接的資料庫,下面介紹如何使用「伺服器總管」來建立資料庫圖表,並透過資料庫圖表建立資料表與資料表之間的關聯,如一對一關聯,一對多關聯或多對多關聯。 如下圖,「部門」資料表的部門編號與「員工」資料表的部門編號是屬於一對多的關聯(一個部門會有多個員工)。請依下面操作練習製作部門與員工的關聯資料庫圖表。 本例操作步驟請參閱15-15~15-18頁或教學影片。

15.3.6 如何輸入資料到資料表 當建立好資料表,接著就可以將資料記錄輸入到資料表內,或是藉由程式來新增、刪除、修改資料表內的資料,請依下面操作,練習輸入資料到「部門」與「員工」這兩個資料表內。 本例操作步驟請參閱15-18~15-20頁或教學影片。

15.3.7 如何設計檢視表 檢視表是執行SQL查詢敘述所得到的查詢結果,其使用時機可將複雜或重複出現的查詢做成檢視表,如此可降低查詢的複雜度,方便程式的維護。 也可以針對不同的使用者設計不同的檢視表,以提升資料安全及保密性。 以下例來說,若要常常查詢「部門」及「員工」這兩個資料表的部門名稱、員工編號、姓名、電話、薪資的資料,且以薪資的10%當做員工的獎金,並計算出每一位員工的實領薪資,因此可以製作一個檢視表直接查詢就可以了,如此就不用每一次都要重複輸入相同且複雜的查詢SQL敘述。 接著依下列步驟自行練習製作名稱為「員工實領薪資」的檢視表。(本例操作步驟請參閱15-20~15-25頁或教學影片)

15.4 ADO .NET簡介 15.4.1 ADO .NET簡介 ADO .NET 是微軟新一代 .NET 資料庫的存取架構 ADO是ActiveX Data Objects 的縮寫,目前最新版本為ADO .NET4.0。 ADO .NET 是資料庫應用程式和資料來源間溝通的橋樑。 提供一個物件導向的資料存取架構,用來開發資料庫 應用程式。

ADO .NET 具有下列優異性 成為目前資料庫程式設計師用來開發資料庫應用程式的 主要介面: ADO .NET 是在 .NET Framework 上存取資料庫的一組 類別程式庫。它定義一個資料庫存取的標準介面。只要學 會 ADO .NET提供物件架構 可輕易存取所有支援 .NET Framework Data Provider 的資料庫。 ADO .NET是應用程式和資料庫來源之間溝通的橋樑。 ADO .NET可提高資料庫的延展性(Scalability)。 ADO .NET處理的資料可以透過HTTP通訊協定來傳遞。 ADO .NET將存取資料和資料處理的部份分開,以達到離線存取資料的目的。

ADO .NET 架構分成  .NET Data Provider (指資料來源提供者)  DataSet資料集 (資料處理核心)

15.4.2 .NET Framework Data Provider 簡介 .NET Framework Data Provider(.NET Framewrk資料提供者)是指存取資料來源的一組類別程式庫,主要是為了統一對於各類型資料庫來源的存取方式而設計出來的一套高效能類別程式庫。

在 .NET Framework Data Provider中包含了下表四種物件:

15.4.3 DataSet簡介 DataSet 是在 ADO .NET 離線資料存取架構中核心物件。 主要使用時機是在記憶體中暫存並處理各種從資料來源中 所取回的資料。 DataSet 就是一個存放在記憶體中的資料暫存區,這些 資料必須透過 DataAdapter 物件與資料庫做資料交換。 在 DataSet 內部允許同時存放一個或多個不同的資料表。 資料表是由資料列和資料欄所組成的,並包含有主索引鍵、外部索引鍵、資料表間的關聯資訊及資料格式條件限制。

DataSet 作用像記憶體中的資料庫管理系統,在離線時,DataSet也能獨自完成資料的新增、修改、刪除、查詢 等作業,不必一直侷限在和資料庫連線時才能做資料維 護的工作。 DataSet 可用於存取多個不同的資料來源、XML資料或 做為應用程式暫存系統狀態暫存區。 資料庫可經由 Connection 物件來連接,便可透過Command 物件將 SQL 語法(如INSERT、UPDATE、DELETE、SELECT)交由資料庫引擎(如Microsoft SQL Server)去執行,並透過 DataAdapter物件將資料查詢 結果存放到離線 DataSet 物件中,進行離線資料編修, 以降低資料庫連線負擔具有極大助益。

15.5 .NET Framework Data Provider 這些結果可能會直接經過處理、放入 DataSet、與來自多種資料來源的資料合併、或是在多層次架構下的各層間作資料傳遞。 對資料庫做資料存取時,先要與資料庫取得連接,連接 最主要的目的是進行資料庫系統的連接、帳戶驗證、與 資料庫指定。 接著下達查詢、新增、刪除、修改…等SQL命令來進行 資料庫的管理。 在使用程式來管理資料庫前,要先確定使用哪個 Data Provider 來存取資料庫。

Data Provider 是一組用來存取資料庫的物件 在 .NET Framework 中常用四組 .NET Framework Data Providers 是 SQL、OLE DB、ODBC、Oracle。 介紹 - .NET Framework Data Provider for SQL Server - .NET Framework Data Provider for OLE DB

一 .NET Framework Data Provider for SQL Server 支援Microsoft SQL Server 7.0、2000、2005、2008 以上版本 由於它使用自己的通訊協定且做過最佳化,可直接存取SQL Server 資料庫,不必用 OLE DB 或ODBC (開放式資料庫連接層)介面,因此執行效能較佳。 若程式中是用 .NET Framework Data Provider for SQL Server,則該 ADO .NET 物件名稱前都要加上Sql 如:SqlConnection、SqlCommand、SqlDataAdapter、SqlDataReader。

二. .NET Framework Data Provider for OLEDB 支援透過 OLE DB 介面來存取像 Dbase、FoxPro、Excel、Access、Oracle、以及SQL Server…等各類型資料來源的存取。 程式中若用 .NET Framework Data Provider for OLE DB,則 ADO .NET 物件名稱前要加上 OleDb 如 OleDbConnection、OleDbCommand、OleDbDataAdapter、OleDbDataReader。

15.6 資料工具的使用 在 VS 2010 整合環境下,工具箱的資料工具內有產生與 資料庫相關的 DataGridView, BindingSource, BindingNavigator 三個控制項,如下圖:

15.6.1 BindingSource與DataGridView 控制項的使用 接著下面範例以逐步方式,說明如何使用BindingSource控制項擷取資料表的資料並填入DataSet物件,最後再將DataSet物件繫結到DataGridView控制項,快速建立簡單的資料庫應用程式。

本例操作步驟請參閱15-31~15-41頁或教學影片。

15.6.2 BindingSource控制項常用成員

本例操作步驟請參閱15-42~15-53頁或教學影片。

15.6.3 BindingNevigator控制項的使用 上一個範例我們必須使用BindingSource所提供的方法及屬性並撰寫相對應的程式才能編修或巡覽資料表的記錄,在工具箱內另外提供BindingNavigator控制項,它是可巡覽、新增、修改資料表記錄的工具列,讓您完全不用撰寫程式,即可巡覽、新增、刪除表單上的資料。 若BindingNavigator 的BindingSource屬性繫結到BindingSource 控制項,此時BindingNavigator即可以操作表單上的資料,如記錄移動、新增、刪除等功能。 如下圖的工具列即是BindingNavigator控制項。

本例操作步驟請參閱15-54~15-55頁或教學影片。

15.7 資料庫的關聯查詢 既然資料庫可以放置許多相關的資料表,表示這些資料表中有些欄位資料是相關聯的。 15.7 資料庫的關聯查詢 既然資料庫可以放置許多相關的資料表,表示這些資料表中有些欄位資料是相關聯的。 特別是在造冊、表列資料時,常常利用關聯(Relation)的技術從不同的資料表中取出相關欄位資料來對照。 [範例] DBAp4.sln 製作兩個關聯資料表的資料庫應用程式。將本章製作MyDB.mdf資料庫的部門及員工資料表的「部門編號」欄位進行關聯,然後再將資料記錄與兩個DataGridView做資料繫結,使選取部門資料表的某筆記錄之後,即會顯示該部門的所有員工。

本例操作步驟請參閱15-56~15-62頁或教學影片。