第6章 C#數(shù)據(jù)庫應(yīng)用程序設(shè)計2_第1頁
第6章 C#數(shù)據(jù)庫應(yīng)用程序設(shè)計2_第2頁
第6章 C#數(shù)據(jù)庫應(yīng)用程序設(shè)計2_第3頁
第6章 C#數(shù)據(jù)庫應(yīng)用程序設(shè)計2_第4頁
第6章 C#數(shù)據(jù)庫應(yīng)用程序設(shè)計2_第5頁
已閱讀5頁,還剩268頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、軟件技術(shù)軟件技術(shù)專業(yè)剖析報告專業(yè)剖析報告 軟件教研室軟件教研室 李李 萍萍2006年年5月月 講課教師:董國勇講課教師:董國勇 _C#第第6 6章章 數(shù)據(jù)庫應(yīng)用程序設(shè)計數(shù)據(jù)庫應(yīng)用程序設(shè)計 本章主要討論內(nèi)容:本章主要討論內(nèi)容:(1)C#所提供的所提供的數(shù)據(jù)庫應(yīng)用程序控件數(shù)據(jù)庫應(yīng)用程序控件。用這些控件設(shè)計數(shù)據(jù)庫應(yīng)用程序的界面。用這些控件設(shè)計數(shù)據(jù)庫應(yīng)用程序的界面。(2)用)用ADO連接對象連接數(shù)據(jù)庫,用連接對象連接數(shù)據(jù)庫,用命令對象、命令對象、適配器對象、數(shù)據(jù)集對象適配器對象、數(shù)據(jù)集對象對數(shù)據(jù)表進(jìn)行對數(shù)據(jù)表進(jìn)行增、刪、增、刪、改改的操作,設(shè)計出的操作,設(shè)計出C#數(shù)據(jù)庫應(yīng)用程序。數(shù)據(jù)庫應(yīng)用程序。 本章

2、主要內(nèi)容本章主要內(nèi)容 6.1.1 數(shù)據(jù)庫應(yīng)用程序設(shè)計示例數(shù)據(jù)庫應(yīng)用程序設(shè)計示例 【例例6.1】在學(xué)生檔案系統(tǒng)中編寫系部編碼表維護(hù)程序。在學(xué)生檔案系統(tǒng)中編寫系部編碼表維護(hù)程序。(1)在學(xué)生檔案管理解決方案)在學(xué)生檔案管理解決方案xsdagl.sln中添加系部編碼窗體中添加系部編碼窗體frmDepartMaintain,編寫編寫主窗體調(diào)用子窗體事件程序主窗體調(diào)用子窗體事件程序。(2)用)用服務(wù)器資源管理器服務(wù)器資源管理器創(chuàng)建與學(xué)生檔案數(shù)據(jù)庫的數(shù)據(jù)連接創(chuàng)建與學(xué)生檔案數(shù)據(jù)庫的數(shù)據(jù)連接StudentSys.mdb 。(3)創(chuàng)建)創(chuàng)建數(shù)據(jù)集對象數(shù)據(jù)集對象dts_Student,并向數(shù)據(jù)集對象,并向數(shù)據(jù)集對

3、象dts_Student添加添加系部編碼表系部編碼表tblDepart,自動,自動生成適配器生成適配器對象對象tblDepartTableAdapter。 注意:可刪除連接。注意:可刪除連接。6.1應(yīng)用程序的結(jié)構(gòu)與設(shè)計步驟應(yīng)用程序的結(jié)構(gòu)與設(shè)計步驟 (4)添加)添加數(shù)據(jù)源綁定對象數(shù)據(jù)源綁定對象bds_tblDepart連接數(shù)據(jù)集對象連接數(shù)據(jù)集對象dts_Student中系部編碼表中系部編碼表tblDepart。(5)在窗體中添加工具欄)在窗體中添加工具欄toolStrip1在工具欄上添加在工具欄上添加退出與保存退出與保存按鈕按鈕,編寫退出與保存事件程序。編寫退出與保存事件程序。(6)在窗體中添加

4、)在窗體中添加TextBox、ComboBox、ListBox、BindingNavigater、DataGridView控件顯示系部編碼表控件顯示系部編碼表tblDepart中的記錄如圖中的記錄如圖6.1所示,運行后的界面如圖所示,運行后的界面如圖6.2所示。所示。6.1應(yīng)用程序的結(jié)構(gòu)與設(shè)計步驟應(yīng)用程序的結(jié)構(gòu)與設(shè)計步驟 圖圖6.1 系部編碼表維護(hù)窗體界面系部編碼表維護(hù)窗體界面圖圖6.2 系部編碼表維護(hù)運行界面系部編碼表維護(hù)運行界面6.1.1 數(shù)據(jù)庫應(yīng)用程序設(shè)計示例數(shù)據(jù)庫應(yīng)用程序設(shè)計示例6.1.1 數(shù)據(jù)庫應(yīng)用程序設(shè)計示例數(shù)據(jù)庫應(yīng)用程序設(shè)計示例1.添加系部編碼表維護(hù)子窗體添加系部編碼表維護(hù)子窗體

5、打開學(xué)生檔案管理解決方案打開學(xué)生檔案管理解決方案xsdagl.sln,添加添加Windows窗窗體,設(shè)置窗體屬性如下:體,設(shè)置窗體屬性如下:Name: frmDepartMaintainText: 系部編碼表維護(hù)程序系部編碼表維護(hù)程序2. 調(diào)用調(diào)用frmDepartMaintain子窗體子窗體按按4.5節(jié)方法編寫主窗體調(diào)用子窗體事件處理程序節(jié)方法編寫主窗體調(diào)用子窗體事件處理程序6.1.1 數(shù)據(jù)庫應(yīng)用程序設(shè)計示例數(shù)據(jù)庫應(yīng)用程序設(shè)計示例3.創(chuàng)建數(shù)據(jù)連接與數(shù)據(jù)集對象創(chuàng)建數(shù)據(jù)連接與數(shù)據(jù)集對象 按按5.2節(jié)方法創(chuàng)建節(jié)方法創(chuàng)建“數(shù)據(jù)連接數(shù)據(jù)連接”Student_Sys.mdb 按按5.3節(jié)方法創(chuàng)建數(shù)據(jù)集對

6、象節(jié)方法創(chuàng)建數(shù)據(jù)集對象:dts_Student.xsd并向數(shù)據(jù)集對象中添加系部編碼表數(shù)據(jù)表并向數(shù)據(jù)集對象中添加系部編碼表數(shù)據(jù)表tblDepart 如圖如圖6.3所示所示圖圖6.3 數(shù)據(jù)連接與數(shù)據(jù)集對象文件數(shù)據(jù)連接與數(shù)據(jù)集對象文件圖圖6.6 tblDepartTableAdapter對象的屬性對象的屬性6.1.1 數(shù)據(jù)庫應(yīng)用程序設(shè)計示例數(shù)據(jù)庫應(yīng)用程序設(shè)計示例單擊單擊tblDepartTableAdapter項,在屬性窗口中可觀察到項,在屬性窗口中可觀察到數(shù)據(jù)庫數(shù)據(jù)庫連接字符串連接字符串ConnectionString與與SQL語句語句CommandText的內(nèi)容如下:的內(nèi)容如下:Connecti

7、onString=“Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|Student_Sys.mdb”CommandText=“SELECT Dpt_Id, Dpt_Name, Dpt_Dean FROM tblDepart ”前者連接數(shù)據(jù)庫前者連接數(shù)據(jù)庫Student_Sys.mdb,后者打開數(shù)據(jù)表,后者打開數(shù)據(jù)表tblDepart,如圖,如圖6.6所示。所示。6.1.1 數(shù)據(jù)庫應(yīng)用程序設(shè)計示例數(shù)據(jù)庫應(yīng)用程序設(shè)計示例4. 在窗體上添加在窗體上添加數(shù)據(jù)源綁定控件數(shù)據(jù)源綁定控件bindingSource(1)添加控件)添加控件

8、 工具箱工具箱 | 數(shù)據(jù)數(shù)據(jù) | bindingSource(2)設(shè)置屬性,)設(shè)置屬性,連接系部編碼表連接系部編碼表tblDepartName:bds_tblDepartDataSource:dts_StudentDataMember:tblDepart圖圖6.4 設(shè)置數(shù)據(jù)源綁定控設(shè)置數(shù)據(jù)源綁定控件屬性件屬性6.1.1 數(shù)據(jù)庫應(yīng)用程序設(shè)計示例數(shù)據(jù)庫應(yīng)用程序設(shè)計示例此時,在窗體界面下方出現(xiàn)三個控件:此時,在窗體界面下方出現(xiàn)三個控件:數(shù)據(jù)集對象:數(shù)據(jù)集對象:dts_Student數(shù)據(jù)源綁定對象:數(shù)據(jù)源綁定對象:bds_tblDepart數(shù)據(jù)適配器對象:數(shù)據(jù)適配器對象: tblDepartTable

9、Adapter如圖如圖6.1下方所示。下方所示。在窗體上方,單擊在窗體上方,單擊dts_Student.xsd頁,進(jìn)入頁,進(jìn)入 dts_Student.xsd界面,如圖界面,如圖6.5所示。所示。6.1.1 數(shù)據(jù)庫應(yīng)用程序設(shè)計示例數(shù)據(jù)庫應(yīng)用程序設(shè)計示例在在frmDepartMaintain窗體的窗體的Load事件過程事件過程,系統(tǒng)系統(tǒng)自動添加自動添加一行一行語句語句:private void frmDepartMaintain_Load(object sender, EventArgs e) this.tblDepartTableAdapter.Fill(this.dts_Student.tb

10、lDepart); 該語句的該語句的作用作用:用適配器對象用適配器對象tblDepartTableAdapter將系部編碼數(shù)據(jù)表將系部編碼數(shù)據(jù)表tblDepart填入填入到到數(shù)據(jù)集對象數(shù)據(jù)集對象dts_Student中去。中去。5. 添加工具欄控件添加工具欄控件toolStrip1,在其上添加退出與保存按鈕,在其上添加退出與保存按鈕(1)按鈕屬性設(shè)置如下:)按鈕屬性設(shè)置如下:Name: tsbtnExit tsbtnSaveText:退出:退出 保存保存 Image: Picture.bmp Save.bmpDisplayStyle:ImageAndText ImageAndText(2)編寫

11、退出按鈕事件程序)編寫退出按鈕事件程序 private void tsbtnExit_Click(object sender, EventArgs e) this.Close (); 6.1.1 數(shù)據(jù)庫應(yīng)用程序設(shè)計示例數(shù)據(jù)庫應(yīng)用程序設(shè)計示例(3)編寫保存按鈕事件程序)編寫保存按鈕事件程序 private void tsbtnSave_Click(object sender, EventArgs e) this.tblDeptTableAdapter.Update(this.dts_Student. tblDept); 該語句的作用是:該語句的作用是:用適配器對象用適配器對象tblDeptTab

12、leAdapter的的Update方法方法將數(shù)據(jù)集將數(shù)據(jù)集dts_Student中的系部編碼表中的系部編碼表tblDepart保存到數(shù)據(jù)庫中去。保存到數(shù)據(jù)庫中去。有關(guān)適配器的有關(guān)適配器的Update方法將在后文中介紹。方法將在后文中介紹。6.1.1 數(shù)據(jù)庫應(yīng)用程序設(shè)計示例數(shù)據(jù)庫應(yīng)用程序設(shè)計示例6. 添加三個添加三個Label控件,顯示系部編碼、系部名稱、系主任控件,顯示系部編碼、系部名稱、系主任設(shè)置屬性如下:設(shè)置屬性如下:Text:系部編碼、系部名稱、系主任:系部編碼、系部名稱、系主任7.添加三個添加三個TextBox控件,編輯編碼、名稱、主任字段內(nèi)容控件,編輯編碼、名稱、主任字段內(nèi)容。設(shè)置屬

13、性如下:設(shè)置屬性如下:(1)Name:txtDptId、txtDptName、txtDptRemark(2)DataBindings:用于數(shù)據(jù)綁定。:用于數(shù)據(jù)綁定。將三個文本框分別與系部編碼表將三個文本框分別與系部編碼表tblDepart的三個字段綁定。的三個字段綁定。方法如下:方法如下:6.1.1 數(shù)據(jù)庫應(yīng)用程序設(shè)計示例數(shù)據(jù)庫應(yīng)用程序設(shè)計示例選擇文本框控件:選擇文本框控件:txtDptId單擊單擊DataBindings屬性:屬性:“+” 單擊單擊Text屬性的省略按鈕屬性的省略按鈕 選擇數(shù)據(jù)綁定對象:選擇數(shù)據(jù)綁定對象:bds_tblDepart 選擇系部編碼字段:選擇系部編碼字段:Dpt_

14、Id則文本框則文本框txt_DptId與系部編碼字段與系部編碼字段Dpt_Id綁定綁定,如圖如圖6.7所示。所示。用同樣方法,將用同樣方法,將txt_DptName、txt_DptRemark與與Dpt_Name、Dpt_Remark字段綁定。程序運行后三個文本框?qū)@示當(dāng)前記錄字段綁定。程序運行后三個文本框?qū)@示當(dāng)前記錄的系部編碼、系部名稱、系主任字段信息。的系部編碼、系部名稱、系主任字段信息。6.1.1 數(shù)據(jù)庫應(yīng)用程序設(shè)計示例數(shù)據(jù)庫應(yīng)用程序設(shè)計示例6.1.1 數(shù)據(jù)庫應(yīng)用程序設(shè)計示例數(shù)據(jù)庫應(yīng)用程序設(shè)計示例圖圖6.7 文本框與系部編碼字段的綁定文本框與系部編碼字段的綁定8、添加、添加ListBo

15、x控件,顯示系部編碼字段控件,顯示系部編碼字段Dpt_Id內(nèi)容內(nèi)容設(shè)置屬性如下:設(shè)置屬性如下:(1)Name:lstDptId(2)DataSource:bds_tblDepart /選擇數(shù)據(jù)源選擇數(shù)據(jù)源(3)DisplayMember:Dpt_ID /選擇顯示字段選擇顯示字段6.1.1 數(shù)據(jù)庫應(yīng)用程序設(shè)計示例數(shù)據(jù)庫應(yīng)用程序設(shè)計示例9、添加、添加ComboBox控件,顯示系主任字段控件,顯示系主任字段Dpt_Remark內(nèi)容內(nèi)容設(shè)置屬性如下:設(shè)置屬性如下:(1)Name: cboDptRemark(2)DataSource: bds_tblDepart /選擇數(shù)據(jù)源選擇數(shù)據(jù)源(3)Displa

16、yMember: Dpt_Remark /選擇顯示字段選擇顯示字段10、添加、添加bindingNavigator控件,用于記錄導(dǎo)航控件,用于記錄導(dǎo)航設(shè)置屬性如下:設(shè)置屬性如下:Name:bdnDepart BindingSource:bds_tblDepart /選擇數(shù)據(jù)源綁定控件選擇數(shù)據(jù)源綁定控件6.1.1 數(shù)據(jù)庫應(yīng)用程序設(shè)計示例數(shù)據(jù)庫應(yīng)用程序設(shè)計示例6.1.1 數(shù)據(jù)庫應(yīng)用程序設(shè)計示例數(shù)據(jù)庫應(yīng)用程序設(shè)計示例11. 添加添加DataGridView控件,顯示編輯系部編碼表內(nèi)容控件,顯示編輯系部編碼表內(nèi)容(1)添加控件)添加控件 工具箱工具箱 | 數(shù)據(jù)數(shù)據(jù) | DataGridView (2)

17、設(shè)置屬性,連接系部編碼表)設(shè)置屬性,連接系部編碼表tblDepartName:dgvDepartDataSource:bds_tblDepart /通過數(shù)據(jù)源綁定控件連接系部編碼表通過數(shù)據(jù)源綁定控件連接系部編碼表tblDepart設(shè)置表格的顯示效果設(shè)置表格的顯示效果6.1.1 數(shù)據(jù)庫應(yīng)用程序設(shè)計示例數(shù)據(jù)庫應(yīng)用程序設(shè)計示例12. 運行程序運行程序(1)編譯:菜單)編譯:菜單 | 生成生成 | 生成解決方案生成解決方案 (2)運行:菜單)運行:菜單 | 調(diào)試調(diào)試 | 開始執(zhí)行開始執(zhí)行程序運行后界面如圖程序運行后界面如圖6.2所示。所示。6.1.2 數(shù)據(jù)庫應(yīng)用程序的結(jié)構(gòu)數(shù)據(jù)庫應(yīng)用程序的結(jié)構(gòu)6.1.2

18、 數(shù)據(jù)庫應(yīng)用程序的結(jié)構(gòu)數(shù)據(jù)庫應(yīng)用程序的結(jié)構(gòu) 由例由例6.1可知:可知:數(shù)據(jù)庫應(yīng)用程序由數(shù)據(jù)界面控件、數(shù)據(jù)源數(shù)據(jù)庫應(yīng)用程序由數(shù)據(jù)界面控件、數(shù)據(jù)源綁定控件、數(shù)據(jù)集與適配器等對象組成。綁定控件、數(shù)據(jù)集與適配器等對象組成。(1)數(shù)據(jù)界面控件:用于設(shè)計數(shù)據(jù)庫應(yīng)用程序界面;(2)數(shù)據(jù)源綁定控件:用于連接數(shù)據(jù)集對象與數(shù)據(jù)表;(3)數(shù)據(jù)集對象:用于存放數(shù)據(jù)表(4)適配器對象:用于連接數(shù)據(jù)庫,實現(xiàn)對數(shù)據(jù)表的增、刪、改、查操作。 數(shù)據(jù)界面控件、數(shù)據(jù)源綁定控件、數(shù)據(jù)集與適配器對象數(shù)據(jù)界面控件、數(shù)據(jù)源綁定控件、數(shù)據(jù)集與適配器對象與數(shù)據(jù)庫、數(shù)據(jù)表之間的連接關(guān)系如圖與數(shù)據(jù)庫、數(shù)據(jù)表之間的連接關(guān)系如圖6.8所示。所示。6.

19、1.2 數(shù)據(jù)庫應(yīng)用程序的結(jié)構(gòu)數(shù)據(jù)庫應(yīng)用程序的結(jié)構(gòu)圖圖6.8 數(shù)據(jù)庫應(yīng)用程序的結(jié)構(gòu)數(shù)據(jù)庫應(yīng)用程序的結(jié)構(gòu)TextBoxDataGridViewBindingSourceDataAdpterDataSetStudent_sys.mdb數(shù)據(jù)表:數(shù)據(jù)表:tblDepart數(shù)據(jù)表數(shù)據(jù)表:tblClass數(shù)據(jù)表數(shù)據(jù)表:tblStudent數(shù)據(jù)界面控件數(shù)據(jù)界面控件數(shù)據(jù)源綁定控件數(shù)據(jù)源綁定控件 數(shù)據(jù)集與適配器對象數(shù)據(jù)集與適配器對象(ADO.NET對象)對象)數(shù)據(jù)庫與數(shù)據(jù)表數(shù)據(jù)庫與數(shù)據(jù)表6.1.2 數(shù)據(jù)庫應(yīng)用程序的結(jié)構(gòu)數(shù)據(jù)庫應(yīng)用程序的結(jié)構(gòu)1數(shù)據(jù)界面控件數(shù)據(jù)界面控件(1)控件)控件DataGridView、Bind

20、ingNavigator、TextBox、Label、CombBox、ListBox等。等。(2)作用)作用用于輸入、顯示、編輯數(shù)據(jù)表各字段值,如文本框控件可用于輸入、顯示、編輯數(shù)據(jù)表各字段值,如文本框控件可顯示和編輯數(shù)據(jù)表記錄的內(nèi)容。顯示和編輯數(shù)據(jù)表記錄的內(nèi)容。(3)連接)連接 通過通過數(shù)據(jù)源綁定控件數(shù)據(jù)源綁定控件BindingSource與數(shù)據(jù)表與數(shù)據(jù)表連接。連接。2數(shù)據(jù)源綁定控件(數(shù)據(jù)源綁定控件(BindingSource)(1)作用:是數(shù)據(jù)界面控件從數(shù)據(jù)表獲取數(shù)據(jù)的通道。)作用:是數(shù)據(jù)界面控件從數(shù)據(jù)表獲取數(shù)據(jù)的通道。(2)連接:)連接:BindingSource控件通過控件通過Data

21、Source屬性屬性連接數(shù)連接數(shù)據(jù)集對象據(jù)集對象DataSet,通過,通過DataMember屬性連接數(shù)據(jù)表。如屬性連接數(shù)據(jù)表。如圖圖6.9所示。所示。6.1.2 數(shù)據(jù)庫應(yīng)用程序的結(jié)構(gòu)數(shù)據(jù)庫應(yīng)用程序的結(jié)構(gòu)圖圖6.9 數(shù)據(jù)源綁定控件連接屬性數(shù)據(jù)源綁定控件連接屬性 3數(shù)據(jù)集對象數(shù)據(jù)集對象 (DataSet) 用于存放數(shù)據(jù)表,如系部編碼表用于存放數(shù)據(jù)表,如系部編碼表tblDeparttblDepart。 4、適配器對象、適配器對象(Adapter) 用于連接數(shù)據(jù)庫,實現(xiàn)對數(shù)據(jù)表的增、刪、改、查操作。用于連接數(shù)據(jù)庫,實現(xiàn)對數(shù)據(jù)表的增、刪、改、查操作。5、ADO.NET對象對象將數(shù)據(jù)集、適配器等對象統(tǒng)稱

22、為將數(shù)據(jù)集、適配器等對象統(tǒng)稱為ADO.NET對象,由于對象,由于ADO.NET對象能夠方便靈活地操作數(shù)據(jù)庫,對象能夠方便靈活地操作數(shù)據(jù)庫,是目前流行的是目前流行的數(shù)據(jù)庫訪問技術(shù)數(shù)據(jù)庫訪問技術(shù),所以本章將重點介紹,所以本章將重點介紹ADO.NET對象訪問對象訪問數(shù)據(jù)庫的方法和步驟。數(shù)據(jù)庫的方法和步驟。6.1.2 數(shù)據(jù)庫應(yīng)用程序的結(jié)構(gòu)數(shù)據(jù)庫應(yīng)用程序的結(jié)構(gòu)6.1.3 應(yīng)用程序設(shè)計步驟應(yīng)用程序設(shè)計步驟1創(chuàng)建解決方案的項目創(chuàng)建解決方案的項目啟動啟動Visual Studio 2005 | 文件文件 | 新建新建 | 項目項目 | Visual C#項目項目 | Windows窗體應(yīng)用程序窗體應(yīng)用程序 |

23、 輸入項目名稱輸入項目名稱 | 選擇項目路徑選擇項目路徑| 確確定。定。2添加Windows窗體數(shù)據(jù)庫應(yīng)用程序常為多窗體組成的數(shù)據(jù)庫應(yīng)用程序常為多窗體組成的MDI應(yīng)用程序,因此,應(yīng)用程序,因此,除除MDI主窗體外還需要添加子窗體,方法如下:主窗體外還需要添加子窗體,方法如下:在解決方案資源管理中,右擊項目在解決方案資源管理中,右擊項目 | 添加添加 | Windows窗體窗體 | 輸入窗體名輸入窗體名 | 添加。添加。6.1.3 應(yīng)用程序設(shè)計步驟應(yīng)用程序設(shè)計步驟3設(shè)計用戶界面設(shè)計用戶界面(1)添加控件)添加控件按應(yīng)用程序要求,在按應(yīng)用程序要求,在Windows子窗體內(nèi)添加數(shù)據(jù)界面控件,子窗體內(nèi)

24、添加數(shù)據(jù)界面控件,構(gòu)成數(shù)據(jù)庫應(yīng)用程序界面;構(gòu)成數(shù)據(jù)庫應(yīng)用程序界面;(2)設(shè)置屬性)設(shè)置屬性設(shè)置數(shù)據(jù)界面控件的屬性,如設(shè)置控件的設(shè)置數(shù)據(jù)界面控件的屬性,如設(shè)置控件的DataSource屬性屬性和和DataMember屬性屬性,使控件與數(shù)據(jù)集對象、數(shù)據(jù)表連接,使控件與數(shù)據(jù)集對象、數(shù)據(jù)表連接,顯示或編輯數(shù)據(jù)表記錄內(nèi)容。顯示或編輯數(shù)據(jù)表記錄內(nèi)容。6.1.3 應(yīng)用程序設(shè)計步驟應(yīng)用程序設(shè)計步驟 4設(shè)計事件驅(qū)動程序設(shè)計事件驅(qū)動程序 根據(jù)程序設(shè)計要求,放置各類控件(如命令按鈕),編根據(jù)程序設(shè)計要求,放置各類控件(如命令按鈕),編寫用寫用ADO.NET對象連接數(shù)據(jù)庫、對數(shù)據(jù)表進(jìn)行增、刪、改、對象連接數(shù)據(jù)庫、對數(shù)

25、據(jù)表進(jìn)行增、刪、改、查的事件處理程序。查的事件處理程序。 以下將按數(shù)據(jù)界面控件、數(shù)據(jù)源綁定控件、以下將按數(shù)據(jù)界面控件、數(shù)據(jù)源綁定控件、ADO.NET對對象順序,依次介紹上述控件的作用、屬性、事件與使用方法,象順序,依次介紹上述控件的作用、屬性、事件與使用方法,介紹介紹ADO.NET的概念、定義格式與使用方法。的概念、定義格式與使用方法。系部編碼表維護(hù)界面小結(jié): (1)界面設(shè)計 (2)連接過程 (3)數(shù)據(jù)控件的屬性設(shè)置 (4)保存數(shù)據(jù)班級編碼維護(hù)界面設(shè)計教學(xué)過程:(1)將系部編碼表維護(hù)的操作演示一次。(2)設(shè)計班級編碼的界面,子菜單調(diào)用。(3)添加數(shù)據(jù)源控件。(4)設(shè)置連接屬性。(5)編寫代碼。

26、(6)講解數(shù)據(jù)界面控件的常用方法。6.2.1 DataGridView 控件簡介控件簡介1、作用、作用:顯示編輯數(shù)據(jù)表。:顯示編輯數(shù)據(jù)表。2、連接數(shù)據(jù)表的屬性、連接數(shù)據(jù)表的屬性(1)DataSource屬性:用于連接數(shù)據(jù)源綁定控件與數(shù)據(jù)表屬性:用于連接數(shù)據(jù)源綁定控件與數(shù)據(jù)表(2)DataMember屬性:用于選擇數(shù)據(jù)集中的數(shù)據(jù)表屬性:用于選擇數(shù)據(jù)集中的數(shù)據(jù)表如:在例如:在例6.1中,中,dgv_Depart控件用屬性:控件用屬性:DataSource=bds_tblDepart通過數(shù)據(jù)源綁定控件通過數(shù)據(jù)源綁定控件bds_tblDepart連接系部編碼表連接系部編碼表tblDepart。6.26

27、.2數(shù)據(jù)界面控件數(shù)據(jù)界面控件3. 字段集合編輯器字段集合編輯器(Columns)(1)作用)作用:用于添加、刪除字段,以及設(shè)置字段屬性。:用于添加、刪除字段,以及設(shè)置字段屬性。(2)啟動)啟動方法一:單擊方法一:單擊DataGridView控件右上角的控件右上角的小三角按鈕小三角按鈕,選,選擇編輯列(如圖擇編輯列(如圖6.10所示),進(jìn)入字段編輯器。所示),進(jìn)入字段編輯器。方法二:在屬性窗口中單擊方法二:在屬性窗口中單擊Columns屬性右側(cè)的省略按鈕,屬性右側(cè)的省略按鈕,進(jìn)入字段編輯器,如圖進(jìn)入字段編輯器,如圖6.11所示。所示。6.2.1 DataGridView 6.2.1 DataGr

28、idView 控件控件6.2.1 DataGridView 6.2.1 DataGridView 控件控件圖圖6.10 單擊編輯列啟動字段編輯器單擊編輯列啟動字段編輯器圖圖6.11 字段編輯器字段編輯器改變字段位置按鈕改變字段位置按鈕(3)添加與刪除字段)添加與刪除字段在字段編輯器左邊對話框中顯示數(shù)據(jù)表字段名,如系部編在字段編輯器左邊對話框中顯示數(shù)據(jù)表字段名,如系部編碼表碼表tblDept中的字段中的字段Dept_ID、Dept_Name、Dept_Dean,用用“添加添加”與與“刪除刪除”按鈕可添加或刪除字段。按鈕可添加或刪除字段。如用添加如用添加按鈕添加三個字段按鈕添加三個字段Column

29、1、Column2、Column3。(3)改變字段位置)改變字段位置單擊單擊“改變字段位置按鈕改變字段位置按鈕”,可改變字段在數(shù)據(jù)表控件中,可改變字段在數(shù)據(jù)表控件中的位置順序,如圖的位置順序,如圖6.11所示。所示。如將如將Column1、Column2、Column3移動最后三個位置。移動最后三個位置。6.2.1 DataGridView 6.2.1 DataGridView 控件控件(5)設(shè)置字段屬性)設(shè)置字段屬性字段編輯器右邊為每個字段的屬性編輯器。字段屬性分為字段編輯器右邊為每個字段的屬性編輯器。字段屬性分為布局、設(shè)計、數(shù)據(jù)、外觀、行為布局、設(shè)計、數(shù)據(jù)、外觀、行為5 5項。項。布局布局

30、AutoSizeMode:自動調(diào)節(jié)字段寬度自動調(diào)節(jié)字段寬度如:如:ColumnHeader:以字段標(biāo)題為列寬;以字段標(biāo)題為列寬; AllCellExceptHeader:以字段內(nèi)容寬度為列寬。:以字段內(nèi)容寬度為列寬。6.2.1 DataGridView 6.2.1 DataGridView 控件控件DividerWidth:列分隔線寬度。:列分隔線寬度。MinimumWidth:列最小寬度:列最小寬度,如設(shè)置最小列寬為如設(shè)置最小列寬為5。Width:Width:當(dāng)前字段寬度。當(dāng)前字段寬度。設(shè)計設(shè)計()Name:字段名字段名如:將如:將Column1、Column2、Column3三個字段名改為

31、三個字段名改為Dpt_Id、Dpt_Name、Dpt_Remark6.2.1 DataGridView 6.2.1 DataGridView 控件控件()ColumnType:用于選擇列的類型,有如下類型:用于選擇列的類型,有如下類型:DataGridViewTextBoxColumnDataGridViewTextBoxColumn:文本:文本DataGridViewButtonColumn:按鈕:按鈕DataGridViewCheckBoxColumn:復(fù)選:復(fù)選DataGridViewComboBoxColumn:下拉列表:下拉列表DataGridViewImageColumn:圖像:圖

32、像DataGridViewLinkColumn:鍵接:鍵接通常選擇文本類型。通常選擇文本類型。6.2.1 DataGridView 6.2.1 DataGridView 控件控件數(shù)據(jù)數(shù)據(jù)DataPropertyName:綁定到數(shù)據(jù)表的字段名。綁定到數(shù)據(jù)表的字段名。如將如將Column1、Column2、Column3三個字段綁定到系部三個字段綁定到系部編碼表的編碼表的Dpt_Id、Dpt_Name、Dept_Remark。外觀外觀DefaultCellStyle:設(shè)置字段默認(rèn)單元格樣式,單擊該屬性設(shè)置字段默認(rèn)單元格樣式,單擊該屬性進(jìn)入圖進(jìn)入圖6.12所示單元格類型生成器。可設(shè)置單元格的對齊所示

33、單元格類型生成器??稍O(shè)置單元格的對齊方式、背景色、前景色等。方式、背景色、前景色等。6.2.1 DataGridView 6.2.1 DataGridView 控件控件圖圖6.12 單元格類型生成器單元格類型生成器HeaderTextHeaderText:設(shè)置字段標(biāo)題:設(shè)置字段標(biāo)題如將三個字段標(biāo)題改為:系部編碼、系部名稱、系主任,如將三個字段標(biāo)題改為:系部編碼、系部名稱、系主任,如圖如圖6.13所示。所示。Visible:true表示顯示字段,表示顯示字段,false表示隱藏字段。表示隱藏字段。行為行為ReadOnly:true表示字段只讀,表示字段只讀,false表示字段可讀寫。表示字段可讀

34、寫。Resizeable:true表示字段寬度可變,表示字段寬度可變,false表示字段寬度不能表示字段寬度不能改變。改變。6.2.1 DataGridView 6.2.1 DataGridView 控件控件圖圖6.13 在系部編碼表中添加三個字段在系部編碼表中添加三個字段4. 記錄行的編輯記錄行的編輯(1)允許記錄的增、刪、改)允許記錄的增、刪、改單擊單擊DataGridView控件右上角的小三角按鈕,啟動控件右上角的小三角按鈕,啟動DataGridView控件的任務(wù)對話框,如圖控件的任務(wù)對話框,如圖6.10所示。所示。使使“啟用添加啟用添加”、“啟用刪除啟用刪除”、“啟用編輯啟用編輯”復(fù)選

35、框為復(fù)選框為選中狀態(tài),則選中狀態(tài),則DataGridView控件允許對記錄行進(jìn)行增、刪、控件允許對記錄行進(jìn)行增、刪、改的操作。改的操作。6.2.1 DataGridView 6.2.1 DataGridView 控件控件(2)禁止記錄的增、刪、改)禁止記錄的增、刪、改清除清除“啟用添加啟用添加”、“啟用刪除啟用刪除”、“啟用編輯啟用編輯”復(fù)選框復(fù)選框選中狀態(tài),則選中狀態(tài),則DataGridView控件禁止對記錄行進(jìn)行增、刪、控件禁止對記錄行進(jìn)行增、刪、改的操作。改的操作。(3)設(shè)計記錄樣式)設(shè)計記錄樣式RowsDefaultCellStyle屬性:設(shè)置記錄行的顯示樣式。屬性:設(shè)置記錄行的顯示樣

36、式。單擊該屬性省略按鈕,啟動記錄行樣式編輯器,如圖單擊該屬性省略按鈕,啟動記錄行樣式編輯器,如圖6.14所示,可設(shè)置記錄行的顯示屬性。如設(shè)置記錄的背景為綠所示,可設(shè)置記錄行的顯示屬性。如設(shè)置記錄的背景為綠色、前景為白色,顯示效果如圖色、前景為白色,顯示效果如圖6.15示。示。6.2.1 DataGridView 6.2.1 DataGridView 控件控件圖圖6.14 記錄行樣式編輯器記錄行樣式編輯器 圖圖6.15 記錄行的顯示效果記錄行的顯示效果AlternatingRowsDefaultCellStyle AlternatingRowsDefaultCellStyle 屬性:設(shè)置記錄行屬

37、性:設(shè)置記錄行的交替顯示效果。的交替顯示效果。通常以通常以類似帳目類似帳目的格式顯示,其中的格式顯示,其中各交替行各交替行的背景顏色不的背景顏色不同??赏ㄟ^設(shè)置同。可通過設(shè)置AlternatingRowsDefaultCellStyle 屬性實現(xiàn)屬性實現(xiàn)交替行顯示的效果。設(shè)置方法與交替行顯示的效果。設(shè)置方法與RowsDefaultCellStyle屬性屬性相同。相同。如,設(shè)置交替行的背景色為淡黃色、前景色為黑色。同時,如,設(shè)置交替行的背景色為淡黃色、前景色為黑色。同時,將記錄行的背景色設(shè)為白色、前景色為黑色,顯示效果如將記錄行的背景色設(shè)為白色、前景色為黑色,顯示效果如圖圖6.16所示。所示。6

38、.2.1 DataGridView 6.2.1 DataGridView 控件控件圖圖6.18 記錄行的顯示效果記錄行的顯示效果5. 記錄行記錄行Rows的屬性與方法的屬性與方法Rows為包含表格控件所有記錄行的集合。為包含表格控件所有記錄行的集合。(1)Count屬性屬性: 返回數(shù)據(jù)表控件中記錄行數(shù)。返回數(shù)據(jù)表控件中記錄行數(shù)。格式:格式: .Rows.Count(2)Cellj屬性屬性:表示記錄(行)中第表示記錄(行)中第j個字段(單元格)個字段(單元格)格式:格式: .Rowsi.Cellsj.Value表示數(shù)據(jù)表中表示數(shù)據(jù)表中第第i條記錄(行)第條記錄(行)第j個字段(列)個字段(列)的

39、值。的值。6.2.1 DataGridView 6.2.1 DataGridView 控控件件(3)Add方法方法:向數(shù)據(jù)表控件添加記錄行:向數(shù)據(jù)表控件添加記錄行 格式:格式: .Rows.Add(n) 其中:其中:n表示添加的記錄行數(shù)。表示添加的記錄行數(shù)。6. CurrentRow屬性屬性:表示數(shù)據(jù)表控件的當(dāng)前行:表示數(shù)據(jù)表控件的當(dāng)前行 。 格式:格式: . CurrentRow 如:如: DataGridView1. CurrentRow.Cellsj.Value 表示數(shù)據(jù)表當(dāng)前第表示數(shù)據(jù)表當(dāng)前第j個字段值。個字段值。6.2.1 DataGridView 6.2.1 DataGridVie

40、w 控件控件1. 作用作用:用于顯示數(shù)據(jù)表中當(dāng)前記錄中的字段值。用于顯示數(shù)據(jù)表中當(dāng)前記錄中的字段值。2. 綁定屬性綁定屬性DataBindings屬性:用于綁定數(shù)據(jù)源。屬性:用于綁定數(shù)據(jù)源。Text子屬性:用于選擇數(shù)據(jù)源及字段。子屬性:用于選擇數(shù)據(jù)源及字段。如如:Label1. DataBindings.Text= bds_tblDepart - Dept_Id6.2.2 Label6.2.2 Label控件控件1. 作用作用:用于編輯數(shù)據(jù)表中當(dāng)前記錄中的字段值。用于編輯數(shù)據(jù)表中當(dāng)前記錄中的字段值。2. 綁定屬性綁定屬性DataBindings屬性:用于綁定數(shù)據(jù)源。屬性:用于綁定數(shù)據(jù)源。Tex

41、t子屬性:用于選擇數(shù)據(jù)源及字段。子屬性:用于選擇數(shù)據(jù)源及字段。例如,在例例如,在例6.1中:中:txt_DptName. DataBindings.Text= bds_tblDepart - Dpt_Name6.2.3 TextBox6.2.3 TextBox控件控件1. 作用作用作用一:用列表方式顯示數(shù)據(jù)表中某字段值,如圖作用一:用列表方式顯示數(shù)據(jù)表中某字段值,如圖6.2所示。所示。作用二:作用二:通過連接字段的綁定,使主表通過連接字段的綁定,使主表( (如如tblClasstblClass)與)與代碼表代碼表( (如如tblStatustblStatus) )建立連接。當(dāng)用戶在列表框選擇代

42、建立連接。當(dāng)用戶在列表框選擇代碼表中漢字字段碼表中漢字字段( (如如Status_Name)內(nèi)容時,系統(tǒng)能在主表內(nèi)容時,系統(tǒng)能在主表中自動修改連接代碼字段中自動修改連接代碼字段( (如如Class_StatusClass_Status) )內(nèi)容。內(nèi)容。因此,因此,ListBox控件常用于對主表中代碼字段的編輯修改??丶S糜趯χ鞅碇写a字段的編輯修改。2. 屬性屬性6.2.4 ListBox6.2.4 ListBox控件控件(1)DataSource:選擇代碼表數(shù)據(jù)源綁定控件:選擇代碼表數(shù)據(jù)源綁定控件如:選擇如:選擇bds_tblStatus。(2)DisplayMember:選擇代碼表中漢字

43、字段:選擇代碼表中漢字字段如:選擇如:選擇Status_Name。(3)ValueMember:選擇代碼表中連接字段:選擇代碼表中連接字段如:選擇如:選擇Status_ID。(4)DataBinding.SelectValue:選擇主表中連接字段:選擇主表中連接字段如:選擇如:選擇bds_tblClass - Class_Status 主從表的連接字段為:主從表的連接字段為:Status_ID= Class_Status6.2.4 ListBox6.2.4 ListBox控件控件1. 作用作用作用一:用下拉列表方式顯示數(shù)據(jù)表中某字段值,如圖作用一:用下拉列表方式顯示數(shù)據(jù)表中某字段值,如圖6.2

44、所示。所示。作用二:作用二:通過連接字段的綁定,使主表通過連接字段的綁定,使主表(如如tblClass)與代碼與代碼表表(如如tblDept)建立連接。當(dāng)用戶在下拉列表框選擇代碼表中建立連接。當(dāng)用戶在下拉列表框選擇代碼表中漢字字段(漢字字段(如如Dept_NameDept_Name)內(nèi)容時,系統(tǒng)能在主表中自動修)內(nèi)容時,系統(tǒng)能在主表中自動修改連接代碼字段改連接代碼字段( (如如Class_DeptIDClass_DeptID) )內(nèi)容。內(nèi)容。因此,因此,ComboBox控件常用于對主表中代碼字段的編輯修改。控件常用于對主表中代碼字段的編輯修改。2. 屬性屬性6.2.5 ComboBox6.2.

45、5 ComboBox控件控件(1)DataSource:選擇代碼表數(shù)據(jù)源綁定控件:選擇代碼表數(shù)據(jù)源綁定控件如:選擇如:選擇bindingSource_tblDept。(2)DisplayMember:選擇代碼表中漢字字段選擇代碼表中漢字字段如:選擇如:選擇Dept_Name。(3)ValueMember:選擇代碼表中連接字段:選擇代碼表中連接字段如:選擇如:選擇Dept_ID。(4)DataBinding.SelectValue:選擇主表中連接字段:選擇主表中連接字段如:選擇如:選擇bindingSource_tblClass - Class_DeptID主從表的連接字段為:主從表的連接字段為

46、: Dept_ID= Class_DeptID6.2.5 ComboBox6.2.5 ComboBox控件控件.6班級編碼維護(hù)程序設(shè)計班級編碼維護(hù)程序設(shè)計【例例6.2(1)】在學(xué)生檔案系統(tǒng)中編寫班級編碼維護(hù)程序。在學(xué)生檔案系統(tǒng)中編寫班級編碼維護(hù)程序。(1)在學(xué)生檔案管理解決方案)在學(xué)生檔案管理解決方案xsdagl.sln中添加班級編碼表中添加班級編碼表維護(hù)窗體維護(hù)窗體frmClassMaintain。(2)向)向數(shù)據(jù)集對象數(shù)據(jù)集對象dtsStudent添加班級編碼表添加班級編碼表tblClass、專、專業(yè)編碼表業(yè)編碼表tblMajor、畢業(yè)標(biāo)志編碼表、畢業(yè)標(biāo)志編碼表tblSta

47、tus。(3)添加)添加數(shù)據(jù)源綁定控件數(shù)據(jù)源綁定控件dbs_tblClass、dbs_tblMajor、 dbs_tblStatus分別連接班級編碼表分別連接班級編碼表tblClass、專業(yè)編碼表專業(yè)編碼表tblMajor、畢業(yè)標(biāo)志編碼表、畢業(yè)標(biāo)志編碼表tblStatus 。.6班級編碼維護(hù)程序設(shè)計班級編碼維護(hù)程序設(shè)計(4)在窗體中添加工具欄)在窗體中添加工具欄toolStrip1在工具欄上添加退出與保存按鈕在工具欄上添加退出與保存按鈕,tsbtnExit、tsbtnSave,編,編寫退出與保存事件程序。寫退出與保存事件程序。(5)在窗體中添加)在窗體中添加TextBox、Co

48、mboBox、ListBox、BindingNavigater、DataGridView控件顯示班級編碼表控件顯示班級編碼表tblClass中的記錄,運行后的界面如圖中的記錄,運行后的界面如圖6.19所示。所示。.6班級編碼維護(hù)程序設(shè)計班級編碼維護(hù)程序設(shè)計圖圖6.19 班級編碼表維護(hù)程序班級編碼表維護(hù)程序1.添加添加班級編碼表維護(hù)班級編碼表維護(hù)子窗體子窗體打開學(xué)生檔案管理解決方案打開學(xué)生檔案管理解決方案xsdagl.sln,添加添加Windows窗體,窗體,設(shè)置窗體屬性如下:設(shè)置窗體屬性如下:Name: frmClassMaintainText: 班級編碼表維護(hù)程序班級編碼表維

49、護(hù)程序2. 調(diào)用調(diào)用frmClassMaintain子窗體子窗體按按4.5節(jié)方法編寫主窗體調(diào)用子窗體事件處理程序節(jié)方法編寫主窗體調(diào)用子窗體事件處理程序.6班級編碼維護(hù)程序設(shè)計班級編碼維護(hù)程序設(shè)計3. 向數(shù)據(jù)集添加數(shù)據(jù)表向數(shù)據(jù)集添加數(shù)據(jù)表并向數(shù)據(jù)集對象中添加班級編碼表并向數(shù)據(jù)集對象中添加班級編碼表tblClass、專業(yè)編碼表、專業(yè)編碼表tblMajor、畢業(yè)標(biāo)志編碼表、畢業(yè)標(biāo)志編碼表tblStatus。如圖。如圖6.20所示。所示。4. 添加添加3個數(shù)據(jù)源綁定控件個數(shù)據(jù)源綁定控件bindingSource連接連接: 班級編碼表班級編碼表tblClass、 專業(yè)編碼表專業(yè)編碼表tb

50、lMajor、 畢業(yè)標(biāo)志編碼表畢業(yè)標(biāo)志編碼表tblStatusName: bds_tblClass bds_tblMajor bds_tblStatusDataSource: dts_Student dts_Student dts_StudentDataMember: tblClass tblMajor tblStatus .6班級編碼維護(hù)程序設(shè)計班級編碼維護(hù)程序設(shè)計.6班級編碼維護(hù)程序設(shè)計班級編碼維護(hù)程序設(shè)計圖圖6.20 向數(shù)據(jù)集添加數(shù)據(jù)表向數(shù)據(jù)集添加數(shù)據(jù)表在在frmClassMaintain_Load事件事件過程過程,系統(tǒng)自動添加四行語句系統(tǒng)自動添加四行語句

51、:private void frmClassMaintain_Load(object sender, EventArgs e) this.tblStatusTableAdapter.Fill(this. dts_Student.tblStatus); / this.tblDepartTableAdapter.Fill(this. dts_Student.tblDepart); this.tblMajorTableAdapter.Fill(this. dts_Student.tblMajor); this.tblClassTableAdapter.Fill(this. dts_Student.t

52、blClass); .6班級編碼維護(hù)程序設(shè)計班級編碼維護(hù)程序設(shè)計5. 添加工具欄控件添加工具欄控件toolStrip1,在其上添加退出與保存按鈕,在其上添加退出與保存按鈕(1)按鈕屬性設(shè)置如下:)按鈕屬性設(shè)置如下:Name: tsbtnExit tsbtnSaveText:退出:退出 保存保存 Image: Picture.bmp Save.bmpDisplayStyle:ImageAndText ImageAndText(2)編寫退出按鈕事件程序)編寫退出按鈕事件程序 private void tsbtnExit_Click(object sender, EventArgs

53、e) this.Close (); .6班級編碼維護(hù)程序設(shè)計班級編碼維護(hù)程序設(shè)計(3)編寫保存按鈕事件程序)編寫保存按鈕事件程序 private void tsbtnSave_Click(object sender, EventArgs e) this.tblClassTableAdapter.Update(this.dts_Student.tblClass); 6. 添加分組框控件添加分組框控件Name: grp_Class,Text: 班級基本信息班級基本信息7. 添加添加9個個Label控件控件用于班級編碼、班級名稱等標(biāo)簽使用,如圖用于班級編碼、班級名稱等標(biāo)簽使用,如圖6

54、.19所示所示.6班級編碼維護(hù)程序設(shè)計班級編碼維護(hù)程序設(shè)計.6班級編碼維護(hù)程序設(shè)計班級編碼維護(hù)程序設(shè)計8. 添加添加6個個TextBox控件控件設(shè)置屬性如下:設(shè)置屬性如下:(1)Name:txtClassID、txtClassName、txtEnrollYear、 txtLength、txtClassNum(2)DataBindings.Text: bds_tblClass - Class_Id , bds_tblClass - Class_Name, bds_tblClass - Class_Num9、添加、添加ComboBox控件,顯示編輯專業(yè)編碼字段控件,

55、顯示編輯專業(yè)編碼字段DptMj_Id設(shè)置屬性如下:設(shè)置屬性如下:(1)Name: cboMajor(2)DataSource: bdsource_tblMajor(數(shù)據(jù)源)。(數(shù)據(jù)源)。(3)DisplayMember: DptMj_Name(顯示成員)。(顯示成員)。(4)ValueMember: DptMj_Id(值成員)。(值成員)。(5)DataBinding.SelectValue: bds_tblClass DptMj_Id(選定值)(選定值).6班級編碼維護(hù)程序設(shè)計班級編碼維護(hù)程序設(shè)計.6班級編碼維護(hù)程序設(shè)計班級編碼維護(hù)程序設(shè)計設(shè)置方法:單擊設(shè)置方

56、法:單擊cboMajor控件右上角的控件右上角的小三角按鈕小三角按鈕,出現(xiàn),出現(xiàn)圖圖6.21所示編輯框,使所示編輯框,使“使用數(shù)據(jù)綁定項使用數(shù)據(jù)綁定項”復(fù)選框有效,復(fù)選框有效,按圖按圖6.21設(shè)置數(shù)據(jù)源、顯示成員、值成員、選定值。設(shè)置數(shù)據(jù)源、顯示成員、值成員、選定值。圖圖6.21 設(shè)置連接屬性設(shè)置連接屬性11、添加、添加ListBox控件,顯示編輯畢業(yè)標(biāo)志控件,顯示編輯畢業(yè)標(biāo)志Class_Status設(shè)置屬性如下:設(shè)置屬性如下:(1)Name: lstStatus(2)DataSource: bds_tblStatus。(3)DisplayMember:Status_Name。(4)Value

57、Member: Status_ID。(5)DataBinding.SelectValue:bds_tblClass - bds_tblClass - Flag.6班級編碼維護(hù)程序設(shè)計班級編碼維護(hù)程序設(shè)計設(shè)置方法:單擊lstStatus控件右上角的小三角按鈕,出現(xiàn)圖6.21所示編輯框,使“使用數(shù)據(jù)綁定項”復(fù)選框有效,按圖6.21設(shè)置數(shù)據(jù)源、顯示成員、值成員、選定值。12、添加、添加bindingNavigator控件控件,用于記錄導(dǎo)航用于記錄導(dǎo)航設(shè)置屬性如下:設(shè)置屬性如下:Name: bdn_ClassBindingSource: bds_tblClass 13. 添加添加Dat

58、aGridView控件,顯示編輯系部編碼表內(nèi)容控件,顯示編輯系部編碼表內(nèi)容Name: dgvClassDataSource: bds_tblClass AlternatingRowDefaultCellStyle:設(shè)置隔行顯示效果。設(shè)置隔行顯示效果。Columns: 用字段編輯器修改字段標(biāo)題名為漢字。用字段編輯器修改字段標(biāo)題名為漢字。.6班級編碼維護(hù)程序設(shè)計班級編碼維護(hù)程序設(shè)計14. 運行程序運行程序(1)編譯:菜單)編譯:菜單 | 生成生成 | 生成解決方案生成解決方案 (2)運行:菜單)運行:菜單 | 調(diào)試調(diào)試 | 開始執(zhí)行開始執(zhí)行程序運行后界面如圖程序運行后界面如圖6.1

59、9所示。所示。.6班級編碼維護(hù)程序設(shè)計班級編碼維護(hù)程序設(shè)計作業(yè):已知數(shù)據(jù)集dts_Student中有數(shù)據(jù)表tblCource。 如何設(shè)置數(shù)據(jù)綁定源dbs_tblCource使其與數(shù)據(jù)集中的tblCource表綁定? 文本框txtCourceName如何設(shè)置使其顯示Course_Name字段信息? 表格 dgv_Cource如何設(shè)置使其顯示tblCource表?6.3 6.3 數(shù)據(jù)源與數(shù)據(jù)導(dǎo)航控件數(shù)據(jù)源與數(shù)據(jù)導(dǎo)航控件6.3 .1 BindingSource數(shù)據(jù)綁定控件數(shù)據(jù)綁定控件1.作用作用BindingSource 是數(shù)據(jù)源與數(shù)據(jù)界面控件的是數(shù)據(jù)源與數(shù)據(jù)界面控件的連接件連接件,

60、一方面,一方面連接數(shù)據(jù)集、數(shù)據(jù)表、數(shù)組等數(shù)據(jù)源,另一方面向數(shù)據(jù)界面連接數(shù)據(jù)集、數(shù)據(jù)表、數(shù)組等數(shù)據(jù)源,另一方面向數(shù)據(jù)界面控件提供數(shù)據(jù)。控件提供數(shù)據(jù)。2.常用屬性常用屬性(1)DataSource:選擇數(shù)據(jù)源(數(shù)據(jù)集、數(shù)據(jù)表、數(shù)組等):選擇數(shù)據(jù)源(數(shù)據(jù)集、數(shù)據(jù)表、數(shù)組等)如,選擇學(xué)生數(shù)據(jù)集:如,選擇學(xué)生數(shù)據(jù)集:dts_Student6.3 6.3 數(shù)據(jù)源與數(shù)據(jù)導(dǎo)航控件數(shù)據(jù)源與數(shù)據(jù)導(dǎo)航控件(2)DataMember:選擇數(shù)據(jù)表。:選擇數(shù)據(jù)表。 如,選擇班級編碼表:如,選擇班級編碼表:tblClass(3)Count:獲取數(shù)據(jù)表的:獲取數(shù)據(jù)表的記錄數(shù)記錄數(shù)。如:如:textBox1.Text = bi

溫馨提示

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

評論

0/150

提交評論