![C#數(shù)據庫應用程序設計課件(PPT 24頁)_第1頁](http://file4.renrendoc.com/view/776386b7c4dbb71355afe11e180e9818/776386b7c4dbb71355afe11e180e98181.gif)
![C#數(shù)據庫應用程序設計課件(PPT 24頁)_第2頁](http://file4.renrendoc.com/view/776386b7c4dbb71355afe11e180e9818/776386b7c4dbb71355afe11e180e98182.gif)
![C#數(shù)據庫應用程序設計課件(PPT 24頁)_第3頁](http://file4.renrendoc.com/view/776386b7c4dbb71355afe11e180e9818/776386b7c4dbb71355afe11e180e98183.gif)
![C#數(shù)據庫應用程序設計課件(PPT 24頁)_第4頁](http://file4.renrendoc.com/view/776386b7c4dbb71355afe11e180e9818/776386b7c4dbb71355afe11e180e98184.gif)
![C#數(shù)據庫應用程序設計課件(PPT 24頁)_第5頁](http://file4.renrendoc.com/view/776386b7c4dbb71355afe11e180e9818/776386b7c4dbb71355afe11e180e98185.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、軟件學院 夏克付數(shù)據庫應用程序設計第六講第1頁,共24頁。接口是指前臺程序和后臺數(shù)據庫的連接部分。接口的概念12主要的數(shù)據庫訪問接口ODBC(Open DataBase Connectivity,開放式數(shù)據庫互連):只能訪問關系型數(shù)據。OLE DB(Object Linking and Embedding DataBase,數(shù)據庫對象的鏈接與嵌入):系統(tǒng)級編程接口,可以訪問所有類型的數(shù)據 。一、數(shù)據庫訪問接口第2頁,共24頁。ADO(ActiveX Data Objects,ActiveX數(shù)據對象):應用程序級編程接口,可以訪問所有類型的數(shù)據。ADO.NET:ADO的升級版本,是.NET平臺采
2、用的數(shù)據庫訪問接口。一、數(shù)據庫訪問接口第3頁,共24頁。ADO.NET是一些.NET Framework類庫中與數(shù)據庫訪問有關的類的集合,它是一種可以使程序員快速、高效地利用.NET開發(fā)出數(shù)據庫應用程序的技術。其體系結構如下:ADO.NET的體系結構1二、ADO.NET概述第4頁,共24頁。從ADO.NET的體系結構可以看出,ADO.NET包括兩大部分:數(shù)據提供者和DataSet(數(shù)據集)。2數(shù)據提供者數(shù)據提供者也稱為.NET Framework 數(shù)據提供程序,包括一系列用于連接到數(shù)據庫、執(zhí)行命令和檢索結果等類。(1)核心對象二、ADO.NET概述第5頁,共24頁。二、ADO.NET概述對象名
3、稱功能描述Connection數(shù)據庫連接對象,建立與數(shù)據庫的連接Command命令對象,執(zhí)行數(shù)據訪問命令的對象DataReader數(shù)據讀取器對象,讀取數(shù)據源中只讀、向前的數(shù)據DataAdapter數(shù)據適配器對象,讀取數(shù)據源數(shù)據填充數(shù)據集對象DataSet第6頁,共24頁。(2)數(shù)據提供程序種類二、ADO.NET概述數(shù)據提供程序命名空間核心對象說明用于 SQL Server 的數(shù)據提供程序System.Data.SqlClientSqlConnectionSqlCommandSqlDataReaderSqlDataAdapter提供對 Microsoft SQL Server 7.0 或更高版本
4、中數(shù)據的訪問。用于OLE DB的數(shù)據提供程序System.Data.OleDbOleDbConnectionOleDbCommandOleDbDataReaderOleDbDataAdapter提供對使用OLE DB 公開的數(shù)據源中數(shù)據的訪問用于 ODBC 的數(shù)據提供程序System.Data.OdbcOdbcConnectionOdbcCommandOdbcDataReaderOdbcDataAdapter提供對使用 ODBC 公開的數(shù)據源中數(shù)據的訪問用于 Oracle 的數(shù)據提供程序System.Data.OracleClientOracleConnectionOracleCommandO
5、racleDataReaderOracleDataAdapter適用于 Oracle 數(shù)據源第7頁,共24頁。DataSet對象又稱為數(shù)據集對象,是支持ADO.NET的斷開式、分布式數(shù)據方案的核心對象,是ADO.NET技術的精髓。DataSet是數(shù)據的內存駐留表示形式,可以將其理解為內存中的數(shù)據庫。DataSet對象包含一個或多個DataTable(數(shù)據表)對象的集合,這些對象由數(shù)據行(DataRow)和數(shù)據列(DataColumn),以及有關DataTable對象中數(shù)據的主鍵、外鍵、約束和關系信息組成。其結構如下:DataSet 對象二、ADO.NET概述33第8頁,共24頁。二、ADO.N
6、ET概述第9頁,共24頁。特點:客戶機一直保持和數(shù)據庫服務器的連接。適用環(huán)境:適合數(shù)據傳輸量少、系統(tǒng)規(guī)模不大、客戶機和服務器在同一網絡內的環(huán)境。連接模式下數(shù)據訪問的步驟連接模式1三、ADO.NET數(shù)據庫訪問模式(1)使用Connection對象連接數(shù)據庫;(2)使用Command對象執(zhí)行數(shù)據訪問命令;(3)使用DataReader對象訪問數(shù)據;(4)訪問完畢后,關閉DataReader對象和Connection對象。第10頁,共24頁。特點:客戶機操作數(shù)據時可以斷開和數(shù)據庫服務器的連接。適用環(huán)境:適合網絡數(shù)據量大、系統(tǒng)節(jié)點多、網絡結構復雜,尤其是通過Internet進行連接的網絡。斷開連接模式
7、下數(shù)據訪問的步驟(1)使用Connection對象連接數(shù)據庫;(2)使用Command對象設置數(shù)據訪問命令;(3)使用DataAdapter對象訪問數(shù)據并填充到DataSet對象中;斷開連接模式三、ADO.NET數(shù)據庫訪問模式2第11頁,共24頁。(4)在DataSet對象中執(zhí)行數(shù)據的各種操作。(5)使用DataAdapter對象更新數(shù)據庫。三、ADO.NET數(shù)據庫訪問模式第12頁,共24頁。聲明并創(chuàng)建Connection對象格式:*Connection 對象名=new *Connection(連接信息);(1)連接到SQL Server 數(shù)據庫的連接信息設置 采用Windows NT集成身份
8、驗證“Server=服務器名;Integrated Security=SSPI;Database=數(shù)據庫名” 采用SQL Server身份驗證“Server=服務器名;UID=登錄名;PWD=密碼;Database=數(shù)據庫名”注意:連接到SQL Server 數(shù)據庫一般使用SQL Server數(shù)據提供程序的SqlConnection對象,以上連接信息是針對該連接對象而設置的。使用Connection對象連接數(shù)據庫1四、使用連接模式訪問數(shù)據庫第13頁,共24頁。(2)連接到Access數(shù)據庫的連接信息設置“Provider=Microsoft.Jet.OLEDB.4.0;Data Source=
9、數(shù)據庫文件名注意:連接到Access數(shù)據庫一般使用OLE DB數(shù)據提供程序的OleDbConnection對象,以上連接信息是針對該連接對象而設置的。例:采用Windows NT集成身份驗證方式連接到SQL Server 數(shù)據庫。string strCnn=“Server=localhost;Integrated Security=SSPI;Database=Student”;SqlConnection sqlCnn = new SqlConnection(strCnn);四、使用連接模式訪問數(shù)據庫第14頁,共24頁。使用Connection對象連接到數(shù)據庫格式:對象名.Open();例: s
10、qlCnn.Open();說明:關閉連接對象使用如下格式:對象名.Close();,例如sqlCnn.Close();四、使用連接模式訪問數(shù)據庫第15頁,共24頁。聲明并創(chuàng)建Command對象格式一: SqlCommand 對象名=new SqlCommand(命令字符串,連接對象);格式二: SqlCommand 對象名=new SqlCommand();設置Command對象的屬性Connection:設置該實例的連接對象;CommandType:設置該實例的命令類型,有三種:一般SQL語句類型CommandType.Text、存儲過程類型CommandType.StoredProcedu
11、re和表類型CommandType.TableDirect;CommandText:可以是SQL語句、存儲過程名和表名;使用Command對象訪問數(shù)據庫中數(shù)據四、使用連接模式訪問數(shù)據庫2第16頁,共24頁。例1: string sql=select * from student; SqlCommand sqlCmd=new SqlCommand(sql,sqlCnn);例2: string sql=select * from student; SqlCommand sqlCmd=new SqlCommand(); sqlCmd.Connection=sqlCnn; sqlCmd.Command
12、Type=CommandType.Text; sqlCmd.CommandText=sql;四、使用連接模式訪問數(shù)據庫第17頁,共24頁。使用Command對象執(zhí)行命令格式一:返回SqlDataReader對象,并通過該對象訪問執(zhí)行結果。一般在執(zhí)行查詢命令時使用該格式。 SqlDataReader 對象名=命令對象名.ExecuteReader();或SqlDataReader 對象名=命令對象名.ExecuteReader(CommandBehavior.CloseConnection);格式二:返回受影響的行數(shù)。一般在執(zhí)行插入、更新語句或不返回結果集的存儲過程時使用該格式。命令對象名.Ex
13、ecuteNonQuery();格式三:返回結果集中的第一行第一列的值,忽略其他行或列,一般在執(zhí)行統(tǒng)計查詢時使用該格式。命令對象名.ExecuteScalar();四、使用連接模式訪問數(shù)據庫第18頁,共24頁。例如:SqlDataReader sqlDr=sqlCmd.ExecuteReader();Command對象的高級使用:帶參數(shù)的命令命令參數(shù)的格式:SQL Server 的數(shù)據提供程序使用命令參數(shù)(前面冠以符號)指定參數(shù);OLE DB的數(shù)據提供程序使用問號(?)指定參數(shù)。向Command對象添加參數(shù)的格式: SqlParameter 參數(shù)對象名=命令對象名.Parameters.Add
14、(“參數(shù)名”,參數(shù)類型,參數(shù)大小); 參數(shù)對象名.Direction =參數(shù)方向(輸入/輸出/雙向/返回值參數(shù)); 參數(shù)對象名. Value =參數(shù)值;四、使用連接模式訪問數(shù)據庫第19頁,共24頁。例如:string strSql = select * from student where 姓名=name; SqlCommand sqlCmd=new SqlCommand(strSql, sqlCnn); SqlParameter paraName= sqlCmd.Parameters.Add (name,SqlDbType.NVarChar,10); paraName.Direction=P
15、arameterDirection.Input; paraName.Value = lstName.Text;注:OLE DB的數(shù)據提供程序的參數(shù)在添加時必須與參數(shù)定義的順序一致, SQL Server的數(shù)據提供程序則不作要求,但也最好一致。四、使用連接模式訪問數(shù)據庫第20頁,共24頁。四、使用連接模式訪問數(shù)據庫使用DataReader對象讀取數(shù)據33獲取SqlDataReader對象通過Command對象ExecuteReader()方法獲取。使用格式同前述。注意:不能使用new關鍵字創(chuàng)建SqlDataReader對象。SqlDataReader對象的主要屬性與方法FieldCount屬性:
16、獲取當前行中的列數(shù);GetString方法:獲取指定字段的字符串類型的值;Close方法:關閉SqlDataReader對象。 第21頁,共24頁。四、使用連接模式訪問數(shù)據庫Read方法:前進到下一條記錄。若該記錄存在,則返回true,否則返回false; 注意:SqlDataReader對象記錄指針的默認位置在第一條記錄前面,因此,必須調用Read方法從第一條記錄開始讀取數(shù)據。使用SqlDataReader對象讀取數(shù)據格式: GetString(字段序號) 或對象名“字段名” 或 對象名字段序號 第22頁,共24頁。四、使用連接模式訪問數(shù)據庫例如: SqlDataReader sqlDr=sqlCmd.ExecuteReader(); if(sqlDr.Read() textBox1.Text=sqlDr姓名.ToString(); textBox1.Text=sqlDr.GetString(1); 第23頁,共24頁。DataSet(數(shù)據集)對象:內存中的數(shù)據庫;DataTable(數(shù)據表)對象:內存中的數(shù)據表,可以獨立存在;DataRow(數(shù)據行)對象:設置數(shù)據表中的行;DataColumn(數(shù)據列)對象:設置數(shù)據表中的列;DataVi
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年上半年教師學期個人總結例文(二篇)
- 2025年三學活動心得體會模版(3篇)
- 2025年9月護士個人工作總結(三篇)
- 生物技術研究合同
- 2025年“領頭雁”培訓學習心得(2篇)
- 2025年個人向公司購房借款合同范文(2篇)
- 2025年c語言實習心得體會模版(2篇)
- 2025年個人定制家具銷售合同模板(三篇)
- 二零二五年度學術論文版權海外授權與推廣合同
- 二零二五年度農產品倉儲租賃合同租金變動及冷鏈物流補充協(xié)議
- 2024年新華文軒出版?zhèn)髅焦煞萦邢薰菊衅腹P試參考題庫含答案解析
- 課件:曝光三要素
- 春節(jié)文化研究手冊
- 小學綜合實踐《我們的傳統(tǒng)節(jié)日》說課稿
- 《鋁及鋁合金產品殘余應力評價方法》
- IATF-16949:2016質量管理體系培訓講義
- 記賬憑證封面直接打印模板
- 人教版八年級美術下冊全冊完整課件
- 北京房地產典當合同
- 檔案工作管理情況自查表
- 畢業(yè)論文-基于51單片機的智能LED照明燈的設計
評論
0/150
提交評論