用 DataGridView 顯示和操作數(shù)據(jù)庫(kù)_第1頁(yè)
用 DataGridView 顯示和操作數(shù)據(jù)庫(kù)_第2頁(yè)
用 DataGridView 顯示和操作數(shù)據(jù)庫(kù)_第3頁(yè)
用 DataGridView 顯示和操作數(shù)據(jù)庫(kù)_第4頁(yè)
用 DataGridView 顯示和操作數(shù)據(jù)庫(kù)_第5頁(yè)
已閱讀5頁(yè),還剩27頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、武漢科技大學(xué)城市學(xué)院武漢科技大學(xué)城市學(xué)院SqlServer2005 SqlServer2005 數(shù)據(jù)庫(kù)開(kāi)發(fā)與實(shí)現(xiàn)數(shù)據(jù)庫(kù)開(kāi)發(fā)與實(shí)現(xiàn)第八章第八章用用 DataGridView 顯示和操作數(shù)據(jù)庫(kù)顯示和操作數(shù)據(jù)庫(kù)回顧回顧/ command 是一個(gè)有效的是一個(gè)有效的 Command 對(duì)象對(duì)象SqlDataReader dataReader = command.ExecuteReader(); if (dataReader.HasRows) studentName= dataReader0; dataReader.Close();缺少缺少 dataReader.Read();沒(méi)有類(lèi)型轉(zhuǎn)換沒(méi)有類(lèi)型轉(zhuǎn)換(st

2、ring)dataReader0;預(yù)習(xí)檢查預(yù)習(xí)檢查DataSet 對(duì)象的作用是什么?對(duì)象的作用是什么? DataAdapter 對(duì)象的作用是什么?對(duì)象的作用是什么?DataGridView 控件的作用是什么?控件的作用是什么?本章任務(wù)本章任務(wù) MySchool 系統(tǒng)的用戶(hù)管理模塊系統(tǒng)的用戶(hù)管理模塊實(shí)現(xiàn)批量查看和修改實(shí)現(xiàn)批量查看和修改教員教員信息功能信息功能實(shí)現(xiàn)批量查看、篩選和修改實(shí)現(xiàn)批量查看、篩選和修改學(xué)員學(xué)員信息功能信息功能本章目標(biāo)本章目標(biāo)了解數(shù)據(jù)集(了解數(shù)據(jù)集(DataSet)的結(jié)構(gòu))的結(jié)構(gòu)會(huì)使用數(shù)據(jù)適配器填充數(shù)據(jù)集會(huì)使用數(shù)據(jù)適配器填充數(shù)據(jù)集會(huì)使用數(shù)據(jù)適配器將數(shù)據(jù)集的修改提交到數(shù)據(jù)庫(kù)會(huì)使用

3、數(shù)據(jù)適配器將數(shù)據(jù)集的修改提交到數(shù)據(jù)庫(kù)掌握掌握 DataGridView 控件的使用控件的使用 為什么使用為什么使用 DataSet 對(duì)象對(duì)象應(yīng)用程序應(yīng)用程序大量的數(shù)據(jù)大量的數(shù)據(jù)來(lái)自多個(gè)數(shù)據(jù)源來(lái)自多個(gè)數(shù)據(jù)源大批量的查詢(xún)、修改數(shù)據(jù)怎么辦?大批量的查詢(xún)、修改數(shù)據(jù)怎么辦?想在斷開(kāi)數(shù)據(jù)庫(kù)連接的情況下操所數(shù)據(jù)怎么辦?想在斷開(kāi)數(shù)據(jù)庫(kù)連接的情況下操所數(shù)據(jù)怎么辦?使用使用 DataSet 對(duì)象對(duì)象 什么是什么是 DataSet 對(duì)象對(duì)象DataSet 數(shù)據(jù)集數(shù)據(jù)集簡(jiǎn)單理解為一個(gè)臨時(shí)數(shù)據(jù)庫(kù)簡(jiǎn)單理解為一個(gè)臨時(shí)數(shù)據(jù)庫(kù)將數(shù)據(jù)源的數(shù)據(jù)保存在內(nèi)存中將數(shù)據(jù)源的數(shù)據(jù)保存在內(nèi)存中獨(dú)立于任何數(shù)據(jù)庫(kù)獨(dú)立于任何數(shù)據(jù)庫(kù)生產(chǎn)線生產(chǎn)線應(yīng)用程

4、序應(yīng)用程序駐留于內(nèi)存,駐留于內(nèi)存,臨時(shí)存儲(chǔ)數(shù)據(jù)臨時(shí)存儲(chǔ)數(shù)據(jù)類(lèi)似的關(guān)系類(lèi)似的關(guān)系DataSet 的結(jié)構(gòu)的結(jié)構(gòu)2-1DataSet 的基本結(jié)構(gòu)的基本結(jié)構(gòu)DataSetDataTableDataColumnCollectionDataRowCollectionDataColumnDataRowDataTableCollection數(shù)據(jù)集數(shù)據(jù)集數(shù)據(jù)表的集合數(shù)據(jù)表的集合數(shù)據(jù)表數(shù)據(jù)表數(shù)據(jù)列的集合數(shù)據(jù)列的集合數(shù)據(jù)行的集合數(shù)據(jù)行的集合數(shù)據(jù)列數(shù)據(jù)列數(shù)據(jù)行數(shù)據(jù)行DataSet 的結(jié)構(gòu)的結(jié)構(gòu)2-2GradeTableClassTableStudentTableidnameclasssex1小菲小菲5女女2小薇小薇3

5、女女3小強(qiáng)小強(qiáng)6男男DataTableCollection數(shù)據(jù)表集合數(shù)據(jù)表集合DataTable數(shù)據(jù)表數(shù)據(jù)表DataRowCollection數(shù)據(jù)行集合數(shù)據(jù)行集合DataRow數(shù)據(jù)行數(shù)據(jù)行DataColumnCollection數(shù)據(jù)列集合數(shù)據(jù)列集合DataColumn數(shù)據(jù)列數(shù)據(jù)列數(shù)據(jù)集的工作原理數(shù)據(jù)集的工作原理發(fā)送數(shù)據(jù)發(fā)送數(shù)據(jù)修改數(shù)據(jù)集修改數(shù)據(jù)集傳遞數(shù)據(jù)傳遞數(shù)據(jù)提交修改后的數(shù)據(jù)提交修改后的數(shù)據(jù)請(qǐng)求數(shù)據(jù)請(qǐng)求數(shù)據(jù)客戶(hù)端客戶(hù)端如何創(chuàng)建如何創(chuàng)建 DataSet 對(duì)象對(duì)象創(chuàng)建一個(gè)創(chuàng)建一個(gè) DataSet可以指定一個(gè)數(shù)據(jù)集的名稱(chēng)可以指定一個(gè)數(shù)據(jù)集的名稱(chēng)如果不指定名稱(chēng),則默認(rèn)被設(shè)為如果不指定名稱(chēng),則默認(rèn)被設(shè)

6、為NewDataSetDataSet dataSet = new DataSet();DataSet dataSet = new DataSet(MySchool);DataSet 數(shù)據(jù)集對(duì)象數(shù)據(jù)集對(duì)象 = new DataSet(數(shù)據(jù)集的名稱(chēng)字符串?dāng)?shù)據(jù)集的名稱(chēng)字符串);可選的可選的為什么使用為什么使用 DataAdapter如何將數(shù)據(jù)庫(kù)的數(shù)據(jù)放在如何將數(shù)據(jù)庫(kù)的數(shù)據(jù)放在 DataSet 中?中?數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)DataSet數(shù)據(jù)集數(shù)據(jù)集Connection數(shù)據(jù)庫(kù)連接數(shù)據(jù)庫(kù)連接DataAdapter數(shù)據(jù)適配器數(shù)據(jù)適配器DataAdapter 對(duì)象對(duì)象不同命名空間的不同命名空間的 DataAdapte

7、r 對(duì)象對(duì)象命名空間命名空間對(duì)應(yīng)的對(duì)應(yīng)的 DataAdapter 對(duì)象對(duì)象System.Data.SqlClient SqlDataAdapterSystem.Data.OleDbOleDbDataAdapterSystem.Data.Odbc OdbcDataAdapterSystem.Data.OracleClientOracleDataAdapter如何填充數(shù)據(jù)集如何填充數(shù)據(jù)集 使用使用 DataAdapter 對(duì)象填充數(shù)據(jù)集對(duì)象填充數(shù)據(jù)集使用使用 Fill() 方法方法填充填充 DataSet 中的表中的表使用使用 Connection 連接數(shù)據(jù)源連接數(shù)據(jù)源ConnectionData

8、Adapter 的的 Fill() 方法方法填充數(shù)據(jù)集填充數(shù)據(jù)集演示示例演示示例1:查看教師信息窗體查看教師信息窗體填充數(shù)據(jù)集,打印部分內(nèi)容填充數(shù)據(jù)集,打印部分內(nèi)容SqlDataAdapter 對(duì)象名對(duì)象名 = new SqlDataAdapter(查詢(xún)用查詢(xún)用sql語(yǔ)句語(yǔ)句, 數(shù)據(jù)庫(kù)連接數(shù)據(jù)庫(kù)連接);創(chuàng)建創(chuàng)建 SqlDataAdapter 對(duì)象對(duì)象1DataAdapter對(duì)象對(duì)象. Fill(數(shù)據(jù)集對(duì)象數(shù)據(jù)集對(duì)象, 數(shù)據(jù)表名稱(chēng)字符串?dāng)?shù)據(jù)表名稱(chēng)字符串);填充填充 DataSet2如何保存如何保存 DataSet 中的數(shù)據(jù)中的數(shù)據(jù) 把數(shù)據(jù)集中修改過(guò)的數(shù)據(jù)提交到數(shù)據(jù)源把數(shù)據(jù)集中修改過(guò)的數(shù)據(jù)提交到數(shù)

9、據(jù)源dataAdapter.Update(dataSet,Teacher);DataAdapter 的的 Update() 方法方法調(diào)用前,要先設(shè)置更新需要的相關(guān)命令調(diào)用前,要先設(shè)置更新需要的相關(guān)命令可以使用可以使用 SqlCommandBuilder 對(duì)象對(duì)象ConnectionSqlCommandBuilder 對(duì)象對(duì)象利用利用 SqlCommandBuilder 對(duì)象能夠自動(dòng)生成:對(duì)象能夠自動(dòng)生成:INSERT 命令命令UPDATE 命令命令DELETE 命令命令SqlCommandBuilder builder = new SqlCommandBuilder(已創(chuàng)建的已創(chuàng)建的DataA

10、dapter對(duì)象對(duì)象);保存保存 DataSet 中的數(shù)據(jù)中的數(shù)據(jù)自動(dòng)生成用于更新的相關(guān)命令自動(dòng)生成用于更新的相關(guān)命令1將將 DataSet 的數(shù)據(jù)提交到數(shù)據(jù)源的數(shù)據(jù)提交到數(shù)據(jù)源2SqlCommandBuilder builder = new SqlCommandBuilder(dataAdapter); dataAdapter.Update(dataSet,Teacher);步驟:步驟:SqlCommandBuilder builder = new SqlCommandBuilder(已創(chuàng)建的已創(chuàng)建的DataAdapter對(duì)象對(duì)象);DataAdapter對(duì)象對(duì)象. Update(數(shù)據(jù)集對(duì)象

11、數(shù)據(jù)集對(duì)象, 數(shù)據(jù)表名稱(chēng)字符串?dāng)?shù)據(jù)表名稱(chēng)字符串);DataAdapter 對(duì)象小結(jié)對(duì)象小結(jié)DataAdapter 的主要屬性和方法的主要屬性和方法屬性屬性說(shuō)明說(shuō)明SelectCommand 從數(shù)據(jù)庫(kù)檢索數(shù)據(jù)的從數(shù)據(jù)庫(kù)檢索數(shù)據(jù)的 Command 對(duì)象對(duì)象方法方法說(shuō)明說(shuō)明Fill 向向 DataSet 中的表填充數(shù)據(jù)中的表填充數(shù)據(jù)Update將將 DataSet 中的數(shù)據(jù)提交到數(shù)據(jù)庫(kù)中的數(shù)據(jù)提交到數(shù)據(jù)庫(kù)小結(jié)小結(jié)使用什么方法填充使用什么方法填充 DataSet ? DataAdapter 的作用是什么?的作用是什么?使用什么方法將使用什么方法將 DataSet 中數(shù)據(jù)提交到數(shù)據(jù)庫(kù)?中數(shù)據(jù)提交到數(shù)據(jù)庫(kù)

12、?為什么使用為什么使用 DataGridView怎樣顯示怎樣顯示 DataSet 中的數(shù)據(jù)呢?中的數(shù)據(jù)呢?使用使用 DataGridViewDataGridView 控件控件 DataGridView 控件控件強(qiáng)大而靈活地顯示數(shù)據(jù)強(qiáng)大而靈活地顯示數(shù)據(jù)輕松定義控件外觀輕松定義控件外觀像像 Excel 表格表格一樣方便一樣方便一行代碼一行代碼實(shí)現(xiàn)數(shù)據(jù)綁定實(shí)現(xiàn)數(shù)據(jù)綁定可視化可視化操作操作使用使用 DataGridView 顯示數(shù)據(jù)顯示數(shù)據(jù)示例示例1 已經(jīng)填充了已經(jīng)填充了 DataSet ,如何,如何在窗體中顯示在窗體中顯示教師教師信息?信息?使用使用 DataGridView 顯示數(shù)據(jù)顯示數(shù)據(jù)指定指

13、定 DataGridView 的數(shù)據(jù)源的數(shù)據(jù)源DataSource 屬性屬性使用使用 DataGridView 顯示數(shù)據(jù)顯示數(shù)據(jù)實(shí)現(xiàn)步驟:實(shí)現(xiàn)步驟:添加窗體的控件添加窗體的控件設(shè)置設(shè)置 DataGridView 控件和其中各列的屬性控件和其中各列的屬性設(shè)置設(shè)置 DataSource 屬性,指定數(shù)據(jù)源屬性,指定數(shù)據(jù)源dgvTeacher.DataSource = dataSet.TablesTeacher; 演示示例演示示例2:使用使用 DataGridView 顯示數(shù)據(jù)顯示數(shù)據(jù)DataGridView 控件重要屬性控件重要屬性DataGridView 的重要屬性的重要屬性屬性屬性說(shuō)明說(shuō)明Col

14、umns 包含的列的集合包含的列的集合DataSourceDataGridView 的數(shù)據(jù)源的數(shù)據(jù)源ReadOnly是否可以編輯單元格是否可以編輯單元格在其中編輯在其中編輯 DataGridView 列的屬性列的屬性列的主要屬性小結(jié)列的主要屬性小結(jié)DataGridView 中各列的主要屬性中各列的主要屬性屬性屬性說(shuō)明說(shuō)明DataPropertyName綁定的數(shù)據(jù)列的名稱(chēng)綁定的數(shù)據(jù)列的名稱(chēng)HeaderText列標(biāo)題文本列標(biāo)題文本Visible指定列是否可見(jiàn)指定列是否可見(jiàn)Frozen指定水平滾動(dòng)指定水平滾動(dòng)DataGridView時(shí)列是否移動(dòng)時(shí)列是否移動(dòng)ReadOnly指定單元格是否為只讀指定單元

15、格是否為只讀通過(guò)通過(guò) DataGridView 修改數(shù)據(jù)修改數(shù)據(jù)把修改過(guò)的教師信息保存到數(shù)據(jù)庫(kù)把修改過(guò)的教師信息保存到數(shù)據(jù)庫(kù)使用使用 DataAdapter 的的 Update() 方法方法注意:注意:將將 DataGridView 和相應(yīng)列的和相應(yīng)列的 ReadOnly 屬性設(shè)為屬性設(shè)為 False通過(guò)通過(guò) DataGridView 修改數(shù)據(jù)修改數(shù)據(jù)實(shí)現(xiàn)步驟:實(shí)現(xiàn)步驟:處理處理“保存修改保存修改”按鈕的按鈕的 Click 事件事件編寫(xiě)事件處理程序編寫(xiě)事件處理程序SqlCommandBuilder builder = new SqlCommandBuilder(dataAdapter);dat

16、aAdapter.Update(dataSet, Teacher); 演示示例演示示例3:通過(guò)通過(guò) DataGridView 修改數(shù)據(jù)修改數(shù)據(jù)小結(jié)小結(jié)使用使用 DataGridView 的什么屬性指定數(shù)據(jù)源?的什么屬性指定數(shù)據(jù)源?在示例在示例3中增加中增加“刷新刷新”按鈕,實(shí)現(xiàn)刷新功能按鈕,實(shí)現(xiàn)刷新功能/ 當(dāng)點(diǎn)擊當(dāng)點(diǎn)擊“刷新刷新”按鈕時(shí),重新填充數(shù)據(jù)集按鈕時(shí),重新填充數(shù)據(jù)集private void btnReFill_Click(object sender, EventArgs e) dataSet.TablesTeacher.Clear(); / 清空原來(lái)的數(shù)據(jù)清空原來(lái)的數(shù)據(jù) dataAdapter.Fill(dataSet, Teacher); / 填充數(shù)據(jù)集填充數(shù)據(jù)集 查看源代碼查看源代碼綜合示例綜合示例批量查看和修改批量查看和修改使用使用 DataSet填充數(shù)據(jù)集、更新數(shù)據(jù)庫(kù)填充數(shù)據(jù)集、更新數(shù)據(jù)庫(kù)使用使用 DataAdapter顯示數(shù)據(jù)顯示數(shù)據(jù)使用使用 DataGridViewMySchool 學(xué)員信息的批量查看和修改學(xué)員信息的批量查看和修改功能功能按照性別篩選顯示按照性別篩選顯示的數(shù)據(jù)的數(shù)據(jù) 演示示例演示示例4:演示批量查看和修改學(xué)員功能演示批量查看和修改學(xué)員功能ADO.NET

溫馨提示

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

評(píng)論

0/150

提交評(píng)論