第十一章 數(shù)據(jù)庫(kù)應(yīng)用程序開發(fā).ppt_第1頁(yè)
第十一章 數(shù)據(jù)庫(kù)應(yīng)用程序開發(fā).ppt_第2頁(yè)
第十一章 數(shù)據(jù)庫(kù)應(yīng)用程序開發(fā).ppt_第3頁(yè)
第十一章 數(shù)據(jù)庫(kù)應(yīng)用程序開發(fā).ppt_第4頁(yè)
第十一章 數(shù)據(jù)庫(kù)應(yīng)用程序開發(fā).ppt_第5頁(yè)
已閱讀5頁(yè),還剩41頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、第十一章 數(shù)據(jù)庫(kù)應(yīng)用 程序開發(fā),VB.NET程序設(shè)計(jì),主講教師:黃超男 email:huangchaonan2004,第2頁(yè),本章內(nèi)容:,11.1 數(shù)據(jù)庫(kù)基礎(chǔ)知識(shí) 11.2 ADO.NET的使用 11.3 數(shù)據(jù)綁定 11.4 DataGrid控件 11.5 Data Form Wizard創(chuàng)建數(shù)據(jù)庫(kù) 說明 :本章內(nèi)容較復(fù)雜、較抽象、較復(fù)雜,為了 方便大家掌握精髓,課件中我加了“ ” 的地方,是要求大家重點(diǎn)掌握的。,第3頁(yè),學(xué)習(xí)目標(biāo),數(shù)據(jù)庫(kù)基礎(chǔ)知識(shí) 使用ADO.NET及常用對(duì)象 數(shù)據(jù)綁定 DataGrid的屬性及方法 使用數(shù)據(jù)窗體向?qū)?第4頁(yè),11.1 數(shù)據(jù)庫(kù)基礎(chǔ)知識(shí),本節(jié)知識(shí)請(qǐng)大家回去復(fù)習(xí)SQ

2、L Server2000,在此不重復(fù)介紹。,第5頁(yè),11.2 ADO.NET的使用,ADO.NET是美國(guó)微軟公司最新推出的,由ADO(Microsoft ActiveX Data Objects)演變而來的數(shù)據(jù)訪問技術(shù)。 ADO.NET提供了一組.NET類,這些類不僅有助于實(shí)現(xiàn)對(duì)各種數(shù)據(jù)源進(jìn)行高效訪問,使用戶能夠?qū)?shù)據(jù)進(jìn)行復(fù)雜的操作和排序,而且形成了一個(gè)重要的框架,在這個(gè)框架中可以實(shí)現(xiàn)應(yīng)用程序之間的通信和XMLWeb服務(wù)。 ADO.NET具有全新的對(duì)象模型,該模型使用XML作為主要的數(shù)據(jù)傳輸格式,同時(shí)它使得用戶對(duì)無關(guān)聯(lián)數(shù)據(jù)的操作變得更加簡(jiǎn)單 比起ADO來說,ADO.NET的主要優(yōu)點(diǎn)在于: 編程

3、更簡(jiǎn)單、性能更高、伸縮性更強(qiáng)、對(duì)單個(gè)數(shù)據(jù)源特性的依賴更小,以及與其它平臺(tái)的交互性更強(qiáng),第6頁(yè),一.ADO.NET的工作原理,ADO.NET 的兩個(gè)核心組件 數(shù)據(jù)提供程序(Data Provider) 數(shù)據(jù)集(DataSet),第7頁(yè),1.NET的數(shù)據(jù)提供程序,設(shè)計(jì)目的:為了實(shí)現(xiàn)對(duì)數(shù)據(jù)的快速訪問 .NET框架提供了4個(gè)數(shù)據(jù)提供程序 SQL Server數(shù)據(jù)提供程序 OLE DB數(shù)據(jù)提供程序 ODBC數(shù)據(jù)提供程序 Oracle數(shù)據(jù)提供程序 包括4個(gè)對(duì)象:Connection、Command、DataReader和DataAdapter對(duì)象,第8頁(yè),Connection對(duì)象 提供與數(shù)據(jù)源的連接 Co

4、mmand對(duì)象 在用Connection對(duì)象成功連接數(shù)據(jù)庫(kù)后,可以用Command對(duì)象對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作,如對(duì)數(shù)據(jù)進(jìn)行新增、刪除、修改等 DataReader對(duì)象 從數(shù)據(jù)源中提供高性能的數(shù)據(jù)流 DataAdapter(數(shù)據(jù)適配器)對(duì)象 提供連接DataSet對(duì)象和數(shù)據(jù)源的橋梁 DataAdapter使用Command對(duì)象在數(shù)據(jù)源中執(zhí)行SQL命令,以便將數(shù)據(jù)加載到DataSet中,并使對(duì)DataSet中數(shù)據(jù)的更改與數(shù)據(jù)源保持一致,第9頁(yè),打個(gè)比方:,第10頁(yè),2. 數(shù)據(jù)集(DataSet),設(shè)計(jì)目的:為了實(shí)現(xiàn)獨(dú)立于任何數(shù)據(jù)源的數(shù)據(jù)訪問 DataSet不是一個(gè)單獨(dú)的表,而是一組包含了表結(jié)構(gòu)數(shù)據(jù)的表,

5、同時(shí)它還包括表之間的所有關(guān)系 DataSet對(duì)象是一個(gè)存儲(chǔ)在內(nèi)存中的離線數(shù)據(jù)庫(kù),它并未與數(shù)據(jù)庫(kù)建立即時(shí)的連接 DataSet對(duì)象專門用來存儲(chǔ)從數(shù)據(jù)源中讀出的數(shù)據(jù),無論是哪種數(shù)據(jù)庫(kù),在DataSet中存儲(chǔ)方式都是一致的 通常在進(jìn)行數(shù)據(jù)操作時(shí), 用戶將來自數(shù)據(jù)庫(kù)的數(shù)據(jù)填入DataSet中,然后再對(duì)其進(jìn)行操作 當(dāng)用戶更改了數(shù)據(jù)并準(zhǔn)備將更改結(jié)果發(fā)送回?cái)?shù)據(jù)源時(shí),DataSet可以一次性完成發(fā)送操作 由于DataSet的智能化,只有數(shù)據(jù)中被更改的部分才會(huì)被發(fā)送回?cái)?shù)據(jù)庫(kù),第11頁(yè),二.使用ADO.NET開發(fā)數(shù)據(jù)庫(kù)應(yīng)用程序的步驟,第一步:根據(jù)使用的數(shù)據(jù)源,確定使用的.NET Framework數(shù)據(jù)提供程序。

6、第二步:建立與數(shù)據(jù)源的連接,需使用Connection對(duì)象。 第三步:執(zhí)行對(duì)數(shù)據(jù)源的操作命令,通常是SQL命令,需使用Command對(duì)象。 第四步:使用數(shù)據(jù)集對(duì)獲得的數(shù)據(jù)進(jìn)行操作,需使用DataSet、DataReader等對(duì)象。 第五步:向用戶顯示數(shù)據(jù),需使用數(shù)據(jù)控件。 說明: 使用ADO.NET開發(fā)數(shù)據(jù)庫(kù)應(yīng)用程序,可以使用編程的方法也可以使用VB.NET提供的數(shù)據(jù)控件。,第12頁(yè),第一步:確定使用的.NET Framework數(shù)據(jù)提供程序。 如果使用的是SQL Server數(shù)據(jù)庫(kù),則選擇SQL Server 數(shù)據(jù)提供程序。該數(shù)據(jù)提供程序類位于命名空間System.Data.SqlClien

7、t中,所以在程序的最前面,要寫上Imports System.Data.SqlClient,表示引入該命名空間。 如果使用的是Access數(shù)據(jù)庫(kù),則選擇OLE DB數(shù)據(jù)提供程序。該數(shù)據(jù)提供程序類位于System.Data.OleDb命名空間中,所以在程序的最前面,要寫上Imports System.Data.OleDb,表示引入該命名空間。,第13頁(yè),第二步:建立與數(shù)據(jù)源的連接,需使用Connection對(duì)象。 1.在訪問數(shù)據(jù)庫(kù)之前首先需要連接到數(shù)據(jù)庫(kù) 2.使用Connection對(duì)象創(chuàng)建和管理連接 SqlConnection對(duì)象 管理與SQL Server數(shù)據(jù)庫(kù)的連接 OleDbConnec

8、tion對(duì)象 管理與可通過OLE DB訪問的任何數(shù)據(jù)存儲(chǔ)區(qū)的連接 OdbcConnection對(duì)象 管理與通過使用連接字符串或ODBC數(shù)據(jù)源名稱創(chuàng)建的數(shù)據(jù)源的連接 OracleConnection對(duì)象 管理與Oracle數(shù)據(jù)庫(kù)的連接,第14頁(yè),3.創(chuàng)建Connection對(duì)象常使用方法 1)使用代碼的方法 使用New關(guān)鍵字創(chuàng)建一個(gè)Connection對(duì)象。 例如: Dim sqlCon AS New SqlConnection() 或 Dim oleDbCon As New OleDbConnection() 2)使用控件的方法 在窗體設(shè)計(jì)窗口中,雙擊【工具箱】窗格中的SqlConnectio

9、n控件圖標(biāo)或OleDbConnection控件圖標(biāo),將控件添加到窗體下方,系統(tǒng)同時(shí)自動(dòng)創(chuàng)建對(duì)應(yīng)的SqlConnection類或OleDbConnection類對(duì)象。 說明:創(chuàng)建連接對(duì)象之后,還需要根據(jù)具體應(yīng)用設(shè)置連接 字符串,實(shí)現(xiàn)連接對(duì)象與數(shù)據(jù)源的連接。,第15頁(yè),4.Connection對(duì)象常用屬性 1)ConnectionString屬性:用于讀取和設(shè)置用于打開數(shù)據(jù)庫(kù)的命令字符串。是Connection對(duì)象中最重要的屬性。只有在數(shù)據(jù)庫(kù)處于關(guān)閉狀態(tài)的時(shí)候才可以被設(shè)置。該屬性被設(shè)置的時(shí)候,只有使用了Open方法后,屬性才會(huì)有效。 (1)使用SQL Server方式的連接字符串 dim cons

10、tr as string constr=“user id=訪問數(shù)據(jù)庫(kù)的用戶名;password=密碼;initial catalog=數(shù)據(jù)庫(kù)名;data source=數(shù)據(jù)源” sqlCon.ConnectiongString=constr 例如: dim constr as string constr=“user id=sa;password=;initial catalog=學(xué)生數(shù)據(jù)庫(kù);data source=(local)” sqlCon.ConnectiongString=constr,第16頁(yè),(2)使用OLE EB方式的連接字符串 dim constr as string cons

11、tr=“Provider=Microsoft.Jet.OLEDB.4.0; Data Source=數(shù)據(jù)源” oleDbcon.ConnectiongString=constr 例如: dim constr as string constr=“Provider=Microsoft.Jet.OLEDB.4.0; Data Source=D:student.mdb” oleDbcon.ConnectiongString=constr,第17頁(yè),2)ConnectionTimeout屬性:用于設(shè)置連接數(shù)據(jù)庫(kù)的允許時(shí)間。如果連接數(shù)據(jù)庫(kù)的時(shí)間超出該值,則會(huì)產(chǎn)生一個(gè)錯(cuò)誤。如果將該值設(shè)置為0,則表示沒有連接

12、時(shí)間的設(shè)置。當(dāng)數(shù)據(jù)庫(kù)被打開的時(shí)候,該屬性是只讀屬性。 3)Database屬性:用于設(shè)置ADOConnection對(duì)象的連接數(shù)據(jù)庫(kù)名稱。 4)DataSource屬性:表示ADOConnection對(duì)象所連接的數(shù)據(jù)源。該屬性在數(shù)據(jù)庫(kù)被打開的時(shí)候是只讀屬性。要修改該屬性,必須在ADOConnection使用了Close方法時(shí)。 5)State屬性:表示ADOConnection對(duì)象的連接狀態(tài),如果該值為Connected,表示目前已經(jīng)和ConnectionString屬性指定的數(shù)據(jù)庫(kù)建立連接,如為Disconnected,則表示沒有和任何一個(gè)數(shù)據(jù)庫(kù)建立連接。 6)UserID屬性:表示訪問數(shù)據(jù)庫(kù)

13、的用戶ID。,第18頁(yè),5.Connection對(duì)象常用方法 在對(duì)數(shù)據(jù)庫(kù)實(shí)際操作之前,首先需要打開連接,使用完后應(yīng)立即關(guān)閉,這是由Open和Close方法來完成的。 1)Open方法:該方法用于和數(shù)據(jù)庫(kù)建立一個(gè)連接。 其格式為:Connection對(duì)象Open() 如果一個(gè)數(shù)據(jù)庫(kù)連接已經(jīng)打開,則會(huì)產(chǎn)生一個(gè)錯(cuò)誤。 例如: sqlCon.Open() 或 oleDbCon.Open() 2)Close方法:該方法用于結(jié)束數(shù)據(jù)庫(kù)連接。 其格式為:Connection對(duì)象Close() 如果一個(gè)數(shù)據(jù)庫(kù)連接已經(jīng)被關(guān)閉,或者數(shù)據(jù)庫(kù)正在被操作,將會(huì)產(chǎn)生一個(gè)錯(cuò)誤。 例如: sqlCon.Close() 或 o

14、leDbCon.Close() 3)Dispose方法:該屬性用于銷毀Connection對(duì)象。 其格式為:Connection對(duì)象.Dispose( ) 例如: sqlCon.Dispose() 或oleDbCon.Dispose(),第19頁(yè),6.總結(jié):使用Connection對(duì)象的步驟 1)創(chuàng)建Connection對(duì)象。 2)把連接字符串賦值給Connection對(duì)象的ConnectionString屬性。 3)調(diào)用Connection對(duì)象的Open方法以打開連接。 4)連接使用完畢后調(diào)用Connection對(duì)象的Close方法以關(guān)閉連接。,第20頁(yè),第三步:執(zhí)行對(duì)數(shù)據(jù)源的操作命令,通常

15、是SQL命令,需使 用Command對(duì)象。 1.創(chuàng)建Command對(duì)象常用方法 1)使用代碼的方法 使用New關(guān)鍵字創(chuàng)建一個(gè)Command對(duì)象。 例如: Dim sqlCmd AS New SqlCommand() 或 Dim oleDbCmd As New OleDbCommand() 2)使用控件的方法 在窗體設(shè)計(jì)窗口中,雙擊【工具箱】窗格中的SqlCommand控件圖標(biāo)或OleDbCommand控件圖標(biāo),將控件添加到窗體下方,系統(tǒng)同時(shí)自動(dòng)創(chuàng)建對(duì)應(yīng)的SqlCommand類或OleDbCommand類對(duì)象。 說明:創(chuàng)建Command對(duì)象后,可以利用Connection屬性設(shè)置 Command

16、對(duì)象的連接屬性。,第21頁(yè),2.Command對(duì)象常用屬性 1)CommandText屬性:用來獲取或設(shè)置要對(duì)數(shù)據(jù)源執(zhí)行的SQL語句或存儲(chǔ)過程名或表名。 例如: sqlCmd.CommandText=“select * from userinfo” 或 oleDbCmd.CommandText=“select * from userinfo” 2)Connection屬性:用來獲取或設(shè)置此Command對(duì)象使用的Connection對(duì)象的名稱。 例如: sqlCmd. Connection=sqlCon 或 oleDbCmd. Connection=oleDbCon,第22頁(yè),3)Comman

17、dType屬性:用來獲取或設(shè)置Command對(duì)象要執(zhí)行的命令的類型,即獲取或設(shè)置一個(gè)指示如何解釋CommandText屬性的值。 該屬性是CommandType枚舉型的,取值有三種情況: StoredProcedure:表示CommandText屬性中存放的是存儲(chǔ)過程的名字; TableDirect:表示CommandText屬性設(shè)置為要訪問的一個(gè)或多個(gè)表的名稱; Text:表示CommandText屬性中存放SQL文本命令。 4)CommandTimeout屬性:用來獲取或設(shè)置在終止對(duì)執(zhí)行命令的嘗試并生成錯(cuò)誤之前的等待時(shí)間,以秒為單位,默認(rèn)為30秒。,第23頁(yè),3.Command對(duì)象常用方法

18、 1)ExecuteNonQuery方法:該方法對(duì)Connection對(duì)象建立的連接進(jìn)行不返回任何行的查詢,如Update(更新)、Delete(刪除)和Insert(插入),該方法返回一個(gè)整型(Integer)數(shù)據(jù),表示受查詢影響的行數(shù)。 例如: Dim sqlCmd AS New SqlCommand() sqlCmd.CommandText=“insert into userinfo values(hcn,123,黃超男,管理員)” sqlCmd. Connection=sqlCon sqlCmd. ExecuteNonQuery() sqlCon.Close(),第24頁(yè),2)Exec

19、uteReader方法:該方法對(duì)Connection對(duì)象建立的連接執(zhí)行一個(gè)CommandText屬性中定義的命令,返回一個(gè)數(shù)據(jù)集Reader對(duì)象,該對(duì)象連接到數(shù)據(jù)庫(kù)的結(jié)果集上,允許行檢索。 3)ExecuteScalar方法:該方法對(duì)Connection對(duì)象建立的連接執(zhí)行CommandText屬性中定義的命令,但只返回結(jié)果集中的第1行第1列的值。,第25頁(yè),第四步:使用數(shù)據(jù)集對(duì)獲得的數(shù)據(jù)進(jìn)行操作,需使用DataSet、DataReader等對(duì)象。,DataReader對(duì)象 當(dāng)處理大量數(shù)據(jù)時(shí),大量?jī)?nèi)存的占用會(huì)導(dǎo)致性能上的問題。為解決這些問題,.NET框架包括了DataReader對(duì)象,但是這個(gè)對(duì)

20、象僅僅從數(shù)據(jù)庫(kù)返回一個(gè)只讀的,僅向前數(shù)據(jù)流。且當(dāng)前內(nèi)存中每次僅存在一條記錄。 DataReader接口支持各種數(shù)據(jù)源,可用于運(yùn)行完一條命令僅需要返回一個(gè)簡(jiǎn)單的只讀記錄集的情況。 使用DataReader可以直接從數(shù)據(jù)庫(kù)中讀取數(shù)據(jù),直接對(duì)數(shù)據(jù)庫(kù)執(zhí)行SQL語句,在此期間一直保持對(duì)數(shù)據(jù)庫(kù)的連接,這并不是最好的方式。,第26頁(yè),1.DataSet對(duì)象的特點(diǎn): 1)與數(shù)據(jù)庫(kù)或SQL無關(guān),它只是簡(jiǎn)單地對(duì)數(shù)據(jù)表進(jìn)行操作、交換數(shù)據(jù)或者將數(shù)據(jù)綁定到用戶界面上。 2)DataSet是強(qiáng)類型的,它把數(shù)據(jù)按照原來的類型存儲(chǔ)。 3)DataSet是一個(gè)離線的記錄集合。它的方法如查詢、排序、篩選和更新等操作是獨(dú)立于數(shù)據(jù)庫(kù)

21、的。 4)在DataSet對(duì)象中可以直接對(duì)其關(guān)系、列、表和類等對(duì)象操作,不必重新連接數(shù)據(jù)庫(kù)。 5)一個(gè)DataSet對(duì)象可以包含多個(gè)表,每個(gè)表對(duì)象都包含行、列對(duì)象。 6)DataSet對(duì)象通過RowError對(duì)象可以逐行地捕捉表中的錯(cuò)誤,如有錯(cuò)會(huì)及時(shí)提示,因此與數(shù)據(jù)庫(kù)中的數(shù)據(jù)交換的效率及成功率都很高。 7)DataSet對(duì)象可以直接讀取XML數(shù)據(jù)。,DataSet對(duì)象,第27頁(yè),2.DataSet對(duì)象的組成: Dataset對(duì)象是一個(gè)創(chuàng)建在內(nèi)存中的集合對(duì)象,它可以包含任意數(shù)量的數(shù)據(jù)表,以及所有表的約束、索引和關(guān)系,相當(dāng)于在內(nèi)存中一個(gè)小型的關(guān)系數(shù)據(jù)庫(kù)。一個(gè)DataSet對(duì)象一般包括: 1)Dat

22、aTable對(duì)象:代表創(chuàng)建在DataSet中的表 2)DataRelation對(duì)象:代表著兩個(gè)表之間的關(guān)系。 3)DataColunm對(duì)象:代表與列有關(guān)的信息,包括列的名稱、類型和屬性。 4)DataRow對(duì)象:代表DataTable中的記錄。,第28頁(yè),3.DataSet對(duì)象的屬性: 1)Tables屬性 Tables屬性獲取包含在DataSet中的表的集合。 2)DataSetName屬性 DataSetName屬性獲取或設(shè)置當(dāng)前DataSet的名稱。 3)Prifix屬性 Prifix屬性獲取或設(shè)置一個(gè)XML前綴,該前綴是 DataSet的命名空間的別名。在調(diào)用ReadXml方法之前設(shè)置

23、Prefix屬性。 4)Relations屬性 Relations屬性用于將表鏈接起來,允許從父表瀏覽到子表的關(guān)系的集合。,第29頁(yè),4.DataSet對(duì)象的方法: 1)AcceptChanges方法 將修改結(jié)果提交給DataSet中的表或關(guān)系。 2)GetChanges方法 返回一個(gè)包含了上次的所有或部分修改結(jié)果的DataSet對(duì)象。 3)HasChanges方法 表示DataSet中的數(shù)據(jù)是否被修改過。 4)RejectChanges方法 用來刪除內(nèi)容修改,使之恢復(fù)到原始狀態(tài)。 5)Clear方法 釋放DataSet對(duì)象。,第30頁(yè),當(dāng)需要從DataSet向數(shù)據(jù)庫(kù)傳出或傳入數(shù)據(jù)時(shí),需要使用

24、DataAdapter(數(shù)據(jù)適配器)對(duì)象 DataAdapter對(duì)象是DataSet對(duì)象和數(shù)據(jù)源之間的橋梁,其主要功能是從數(shù)據(jù)源中檢索數(shù)據(jù)、填充DataSet對(duì)象中的表、把用戶對(duì)DataSet對(duì)象的更改寫入到數(shù)據(jù)源。 .NET Framework中主要使用兩種DataAdapter對(duì)象:OleDbDataAdapter和SqlDataAdapter。 OleDbDataAdapter對(duì)象適用于OLE DB數(shù)據(jù)源; SqlDataAdapter對(duì)象適用于SQL Server 7.0或更高版本。,DataAdapter對(duì)象,第31頁(yè),1. DataAdapter對(duì)象的屬性: 1)InsertCom

25、mand屬性 用于設(shè)置或取得對(duì)數(shù)據(jù)源添加數(shù)據(jù)的SQL命令。 2)DeleteCommand屬性 用于設(shè)置或取得對(duì)數(shù)據(jù)源刪除數(shù)據(jù)的SQL命令。 3)SelectCommand屬性 用于設(shè)置或取得對(duì)數(shù)據(jù)源查詢數(shù)據(jù)的SQL命令。 4)UpdateCommand屬性 用于設(shè)置或取得對(duì)數(shù)據(jù)源更新數(shù)據(jù)的SQL命令。,第32頁(yè),2. DataAdapter對(duì)象的方法: 1)Fill方法 用來執(zhí)行SelectCommand,用數(shù)據(jù)源的數(shù)據(jù)填充DataSet對(duì)象。 2)FillSchema方法 使用SelectCommand提取數(shù)據(jù)源中表的架構(gòu),并根據(jù)相應(yīng)的約束在DataSet對(duì)象中創(chuàng)建一個(gè)空表。 3)Upda

26、te方法 用來將DataSet對(duì)象中更改的內(nèi)容更新到初始的數(shù)據(jù)庫(kù)中。,第33頁(yè),例如: Dim sqlCmd AS New SqlCommand() Dim myds As New DataSet() Dim myDataAdapter As New sqlDataAdapter( ) sqlCmd.CommandText=“select * from userinfo” sqlCmd.Connection=sqlCon myDataAdapter.SelectCommand = sqlCmd myDataAdapter.Fill(myds, userinfo),第34頁(yè),第五步:向用戶顯示數(shù)

27、據(jù),需使用數(shù)據(jù)控件。 此內(nèi)容將在后面的數(shù)據(jù)綁定小節(jié)中詳細(xì)介紹。,第35頁(yè),舉例:以系統(tǒng)登錄功能為例,講解使用編程的方法開發(fā)數(shù)據(jù)庫(kù)應(yīng)用程序的過程。,第36頁(yè),11.3 數(shù)據(jù)綁定,數(shù)據(jù)集不能直接顯示其中的數(shù)據(jù),必定通過能與其綁定的控件來實(shí)現(xiàn)。數(shù)據(jù)綁定是一個(gè)過程,即在運(yùn)行時(shí)自動(dòng)為與數(shù)據(jù)集中的元素相關(guān)聯(lián)的控件設(shè)置屬性。 Windows窗體可以進(jìn)行兩種類型的數(shù)據(jù)綁定:簡(jiǎn)單數(shù)據(jù)綁定和復(fù)雜數(shù)據(jù)綁定。,第37頁(yè),一.簡(jiǎn)單數(shù)據(jù)綁定,簡(jiǎn)單數(shù)據(jù)綁定就是將控件綁定到單個(gè)數(shù)據(jù)字段。每個(gè)控件僅顯示數(shù)據(jù)集中的一個(gè)字段值。如果在窗體上要顯示n項(xiàng)數(shù)據(jù),就需要使用n個(gè)控件。 最常用的簡(jiǎn)單數(shù)據(jù)綁定是將數(shù)據(jù)綁定到文本框和標(biāo)簽。 要建立數(shù)據(jù)綁定,需要在設(shè)計(jì)或運(yùn)行時(shí)對(duì)控件的DataBinding屬性進(jìn)行設(shè)置。 舉例:,第38頁(yè),二.復(fù)雜數(shù)據(jù)綁定,復(fù)雜數(shù)據(jù)綁定允許將多個(gè)數(shù)據(jù)元素綁定到一個(gè)控件,同時(shí)顯示記錄源中的多行或多列。 支持復(fù)雜數(shù)據(jù)綁定的控件包括數(shù)據(jù)網(wǎng)格控件DataGrid、DataGridView、組合框控件ComboBox和列表框ListBox等。,第39頁(yè),1.DataGrid控件,Windows 窗體DataGrid控件

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論