ADO .NET 簡介.

Slides:



Advertisements
Similar presentations
第五章 通用网关接口 CGI 简介 Htm l Html + CGI Html + asp 网页可以处理动态的信息.
Advertisements

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#
曹祖聖 巨匠電腦顧問講師
主讲:史治平 地址:四川电大计算机教研室 电话:
第7章利用ADO.NET 进行数据访问.
第六章 資料倉儲與採礦技術 6.1 資料倉儲與採礦定義 6.2 資料採礦之步驟與技術分類 6.3 資料採礦在顧客關係管理之應用
第八章 DataGrid 與 DataTable 瀏覽器 DataTable DataGrid 存取 顯示表格 暑資碩三 房玄博 報告.
ASP.NET 網頁製作教本 – 從基本語法學起
第8章 设计数据库应用网站 本章讲述的主要内容 8.1 数据库基础知识 8.2 使用数据库系统 8.3 SQL查询基础
第7章 数据库基础知识 SQL常用命令使用方法 (1) 数据记录筛选: sql="select * from 数据表
第十一讲 JDBC JDBC基础 JDBC驱动程序 JDBC编程 示例.
Chap 13 視界與資料庫程式設計.
第6章 資料庫管理系統 6-1 關聯式資料庫管理系統 6-2 SQL Server資料庫管理系統
資料庫設計 Database Design.
第十 章 XML与数据库的交换 10.1 概述 10.2 数据岛 10.3 XML数据源对象 10.4 数据集操作
国际贸易法.
第7章 建立資料表與完整性限制條件 7-1 資料型別 7-2 資料表的建立 7-3 建立完整性限制條件 7-4 修改與刪除資料表
第 11 章 資料庫應用與 ADO物件 製作.
DAT301: XML数据和关系性数据的最终结合处 – SQL Server 2005
資料庫程式設計 VB資料庫設計簡介 週次:4 建國科技大學 資管系 饒瑞佶.
Visual C# 2010 程式設計經典 第15章 ADO .NET與資料工具.
課程名稱:資料庫系統 授課老師:李春雄 博士
启用“Hadoop”的哨兵 - Sentry 的通用权限管理模型
二.資料庫系統建立與管理 Access 資料庫:windows下的單機資料庫 Access 操作 Mysql資料庫介紹.
第五讲 数据的分组、合并与转换.
Microsoft SQL Server 2000 李金双.
線上英檢測驗系統 Copyright © 2012 Cengage Learning Asia Pte. Ltd.,
彰化縣政府補助辦理網頁設計資料庫應用班 ASP與資料庫介紹 建國技術學院資管系 饒瑞佶.
ASP.NET 網頁製作教本 – 從基本語法學起
資料庫操作2.
ADO.NET.
課程名稱:資料庫系統 授課老師:李春雄 博士
第20章 LINQ 資料查詢技術 注意: 本投影片僅供本書上課教師使用,非經同意請勿上網轉載或拷貝.
主 讲 教 师:陆有军 Web技术与应用 第六章 ADO.NET 主 讲 教 师:陆有军
課程名稱:資料庫系統 授課老師:李春雄 博士
班級:博、碩子一甲 授課老師:鐘國家 助教:陳國政
第6章 ADO.NET数据访问接口 6.
上述代码规范了 INSERT 语句的编写规范,其中:
第2章 ADO.NET 2.0概述.
SQL Server 2000 数据库入门.
第4章(2) 空间数据库 —关系数据库 北京建筑工程学院 王文宇.
課程名稱:資料庫系統 授課老師:李春雄 博士
課程名稱:資料庫系統 授課老師:李春雄 博士
第7章 ADO.NET操作SQL Server数据库
ASP.NET 網頁製作教本 – 從基本語法學起
第5章 資料倉儲的資料建置.
第9章 事务.
5.1.1 使用 ExecuteReader()操作数据库
第二十五章 應用Internet Express的程式開發
操作数据库 C#程序设计课程组.
使用ADO.NET访问数据 数据库连接 C#程序设计课程组.
資料庫系統導論.
第十二章 SQL語言簡介 講授大綱: 新增資料庫 新增資料表 新增資料 修改資料 刪除資料 查詢資料 透視ASP.NET-第12章
Ch4.SQL Server 2005資料庫組成員元件介紹
第4章(1) 空间数据库 —数据库理论基础 北京建筑工程学院 王文宇.
C# 程序设计教程 同济大学计算机系基础学科组
Connection对象 访问数据库的第一步是建立连接,只有建立连接,才可能实现 在数据库和应用程序之间移动数据。 ADO提供了连接对象:
第 8 章 VB.NET与数据库应用程序 本章主要内容: ADO.NET体系结构; VB.NET与SQL Server数据库的连接;
講師:戴志華 國立台灣大學電機工程研究所 Visual Basic 程式設計 講師:戴志華 國立台灣大學電機工程研究所.
第五讲 酒店客房管理系统(一) 教育部“十二五”职业教育国家规划教材
VB2005 DataBase Manipulation Command for Access
第十讲 学生成绩管理系统(一) 精品教程《C#程序设计与应用(第2版)清华大学出版社 谭恒松 主编
SQL Server Mobile 2005 程序开发(三)
通讯录管理系统设计 常州工程职业技术学院 计算机技术系.
第 10 章 ADO.NET與XML.
從 ER 到 Logical Schema ──兼談Schema Integration
第六類 資料庫備份與回復.
ASP.NET实用教程 清华大学出版社 第9章数据库应用 教学目标 教学重点 教学过程 2019年5月3日.
计算机问题求解 – 论题1-5 - 数据与数据结构 2018年10月16日.
数据库应用技术 天津电大 翟迎建.
Presentation transcript:

ADO .NET 簡介

ADO .NET Objects ADO .NET is a data abstraction layer that smoothes over difference between data providers and includes objects and functions for easy access to data A standard set of .NET objects Connection: For connection to and managing transactions against a database. Command: For issuing SQL commands against a database. DataReader: For reading a forward-only stream of data records from a SQL Server data source. DataSet: For storing, remoting and programming against flat data, XML data and relational data. DataAdapter: For pushing data into a DataSet, and reconciling data against a database.

ADO .NET Architecture DataSource Connection DataAdapter DataReader Command DataSet Client Data Provider

連接資料庫 引用ADO .NET命名空間 System.Data System.Data.OleDb 引用OLE DB資料來源的物件。若使用的資料庫為Access、Excel、SQL Server、文字檔….等,須引用此命名空間,其物件包含OleDbConnection、OleDbCommand、OleDbDataReader…等 <%@ Import Namespace="System.Data" %> <%@ Import Namespace="System.Data.OleDb" %> System.Data.SqlClient 引用SQL Server資料來源的物件。若使用的資料庫為SQL Server 7.0以上的版本,須引用此命名空間,其物件包含SqlConnection、SqlCommand、SqlDataReader…等 <%@ Import Namespace="System.Data.SqlClient" %> System.IO 存取XML資料的物件

連接資料庫 Connection 物件(引用System.Data.OleDb命名空間) 使用OleDbConnection物件來開啟、關閉資料庫。先宣告OleDbConnection物件 Dim conn As OleDbConnection 使用Server.MapPath方法取得資料庫檔案所在的真實路徑 Dim DBPath As String = Server.MapPath("資料庫名稱") 宣告一個變數用來存放資料庫的連結字串並指定資料庫的真實路徑 Dim connStr As String connStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & _ DBPath 建立OleDbConnection物件並指定其資料庫的連結字串 conn = New OleDbConnection( connStr ) 使用Open方法開啟資料庫 conn.Open() '開啟資料庫 完成資料庫存取後再使用Close方法關閉資料庫 conn.Close() '關閉資料庫

使用DataReader物件讀取資料 DataReader物件的特性 由資料庫開頭依序往下逐一讀取、自動下移 不能修改資料庫中的資料 命名空間 引用System.Data.OleDb命名空間,則必須使用OleDbDataReader 引用System.Data.Sql命名空間,則必須使用SqlDataReader Command物件 可用來執行SQL語法 使用Command物件的ExecuteNonQuery方法,可以新增、刪除、修改資料庫中的資料 使用Command物件的ExecuteReader方法將查詢結果的DataReader物件傳回

使用DataReader物件 宣告DataReader、Command物件 設定Command物件所要執行的SQL命令 Dim cmd As OleDbCommand Dim reader As OleDbDataReader 設定Command物件所要執行的SQL命令 cmd = New OleDbCommand (“SQL命令”, _ OleDbConnection物件) 使用Command物件的ExecuteReader方法執行SQL命令。此時即會將查詢結果的DataReader物件傳回 reader = Cmd.ExecuteReader()

DataReader常用的屬性與方法 Read: 判斷記錄指標是否指到EOF(檔案結尾符號),若是則傳回False,若不是則傳回True並將目前記錄指標所指到的記錄由資料庫中讀出來,再將記錄指標移到下一筆記錄 FieldCount: 取得目前DataReader中總共有多少個欄位 GetName(i): 取得第i欄的欄位名稱 Item(i): 取得第i欄的資料內容 Item(“欄位名稱”): 取得目前DataReader所指定的欄位資料 GetDataTypeName(i): 取得第i個欄位的資料型別 GetOrdinal(“欄位名稱”): 取得某個欄位的欄位編號 GetValue(i): 取得第i個欄位的資料內容 IsNull(i): 判斷第i個欄位是否有資料

顯示查詢結果的所有記錄 取得DataReader物件中記錄的欄位名稱 取得DataReader物件的欄位資料 Eg [aspx][exec] For i = 0 To DataReader物件.FieldCount - 1 Response.Write( DataReader物件.GetName(i) ) Next 取得DataReader物件的欄位資料 Do While DataReader物件.Read() Response.Write(DataReader物件.Item(i)) Loop Eg [aspx][exec]

使用DataSet物件來讀取資料 DataSet物件 像是一個記憶體中的資料庫 儲存在IIS上(執行aspx程式的主機記憶體中) 採用離線存取資料庫的方式 Data set 可以XML文件方式檢視 DataSet實際是用DataReader讀取資料 速度比DataReader慢

Six Classes DataSet memory-resident database contains DataTable and DataRelation DataTable memory-resident database table DataRelation to define relationship between DataTables DataView to filter and sort the contents of a DataTable SqlDataAdapter to build a DataTable from a SQL Server database table OleDbDataAdapter to build a DataTable from other types of databases

DataSet Properties and Methods DefaultViewManger Gets a view of the data HasErrors Gets a value indicating if there are any errors Relations Gets the relations collection Tables Gets the tables collection AcceptChanges Accepts all the changes made since loaded or since last time AcceptChanges was called Clear Clears the dataset of any data GetChanges Returns a copy of the dataset containing all the changes made since loaded or since AcceptChanges was called GetXML Gets the XML representation of the data in the dataset GetXMLSchema Gets the XSD schema for the XML representation Merge Merges the data in the dataset with another dataset ReadXML Reads an XML schema and data into the dataset ReadXMLSchema Reads an XML schema into the dataset RejectChanges Rolls back to the state since lase AcceptChanges WriteXML Writes out the XML schema and data from the WriteXMLSchema Writes the structure of the dataset as an XML schema

DataTable Properties and Methods ChildRelations Gets the collection of child relations Columns Gets the columns collection Constraints Gets the constraints collection DataSet Gets the dataset this table belongs to DefaultView Gets a view of the table for filtering ParentRelations Gets the parent relations collection PrimaryKey Gets or sets an array of columns as primary key for this table Rows Gets the rows collection AcceptChanges Commits all the changes since last AcceptChanges Clear Clears the table of all data GetChanges Gets a copy of the DataTable with all the changes since last AcceptChanges NewRow Creates a new DataRow with the same schema as the table RejectChanges Rolls back changes since last AcceptChanges Select Gets an array of DataRow objects

DataRow Properties and Methods Item Gets or sets the data stored in a specific column ItemArray Gets or sets all the values for the row using an array Table Gets the table this row is owned by AcceptChanges Accepts all the changes since the last time AcceptChanges was called GetChildRows Gets the child rows for this row GetParent Row Gets the parent row of this row RejectChanges Rejects all the changes since the

DataAdapter Properties and Methods AcceptChangesDuringFill Indicates whether or not to call AcceptChanges on a DataRow after adding it ot a DataTable Fill Fills a DataTable by adding or updating rows in the DataSet FillSchema Adds DataTable object to the specified DataSet Update Updates all the modified rows in the specified table of the DataSet

使用DataAdapter物件 建立DataAdapter、DataSet物件 Dim DataSet物件 As DataSet = new DataSet() Dim DataAdapter物件 As OleDbDataAdapter 利用DataAdapter物件並指定所要執行的SQL命令 ‘如下程式產生成績單的DataTable物件 Selectcmd = "Select * from SCORE" ‘查詢SCORE資料表 使用DataAdapter物件的Fill方法將查詢資料的結果放到DataSet物件中 DataAdapter物件 = New OleDbDataAdapter(SelectCmd, conn) DataAdapter物件.Fill(DataSet物件, "成績表") Eg [aspx][exec] 共執行三次SQL命令,並使用DataAdapter物件的Fill方法將查詢的結果存放到DataSet物件,並產生三個DataTable物件,其名稱為成績單、股票行情表、產品資料表

使用DataTable物件來取得資料 DataTable物件.Columns.Count DataTable物件.Columns(j).ColumnName 取得DataTable的第j個的欄位名稱,註標起始值為0。 DataTable物件.Rows.Count 取得DataTable的資料總筆數。 DataTable物件.Rows(i).Item(“欄位名稱”) 取得DataTable的第i列某一個欄位的資料內容。 DataTable物件.Rows(i).Item(j) 取得DataTable的第i列第j欄的資料內容,註標起始值為0

使用DataTable顯示查詢結果 取得DataTable物件的欄位名稱 使用巢狀迴圈來逐一取得DataTable物件第i列第j欄的資料 For i = 0 To DataTable物件.Columns.Count - 1 Response.Write( _ DataTable物件.Columns(i).ColumnName) Next 使用巢狀迴圈來逐一取得DataTable物件第i列第j欄的資料 For i = 0 To DataTable物件.Rows.Count - 1 For j = 0 To DataTable物件.Columns.Count - 1 Response.Write(DataTable物件.Rows(i).Item(j)) Eg [aspx][exec]