顯示和操作數(shù)據(jù)庫_第1頁
顯示和操作數(shù)據(jù)庫_第2頁
顯示和操作數(shù)據(jù)庫_第3頁
顯示和操作數(shù)據(jù)庫_第4頁
顯示和操作數(shù)據(jù)庫_第5頁
已閱讀5頁,還剩26頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第三章第三章用用 DataGridView 顯示和操作數(shù)據(jù)庫顯示和操作數(shù)據(jù)庫陳曉娟陳曉娟課程回顧課程回顧/ command 是一個有效的是一個有效的 Command 對象對象SqlDataReader dataReader = command.ExecuteReader(); if (dataReader.HasRows) studentName= dataReader0; dataReader.Close();缺少缺少 dataReader.Read();沒有類型轉(zhuǎn)換沒有類型轉(zhuǎn)換(string)dataReader0;本章目標(biāo)本章目標(biāo)了解數(shù)據(jù)集(了解數(shù)據(jù)集(DataSet)的結(jié)構(gòu))的結(jié)構(gòu)會使

2、用數(shù)據(jù)適配器填充數(shù)據(jù)集會使用數(shù)據(jù)適配器填充數(shù)據(jù)集會使用數(shù)據(jù)適配器將數(shù)據(jù)集的修改提交到數(shù)據(jù)庫會使用數(shù)據(jù)適配器將數(shù)據(jù)集的修改提交到數(shù)據(jù)庫掌握掌握 DataGridView 控件的使用控件的使用 為什么使用為什么使用 DataSet 對象對象大批量的查詢、修改數(shù)據(jù)怎么辦?大批量的查詢、修改數(shù)據(jù)怎么辦?想在斷開數(shù)據(jù)庫連接的情況下操所數(shù)據(jù)怎么辦?想在斷開數(shù)據(jù)庫連接的情況下操所數(shù)據(jù)怎么辦?應(yīng)用程序應(yīng)用程序大量的數(shù)據(jù)大量的數(shù)據(jù)來自多個數(shù)據(jù)源來自多個數(shù)據(jù)源使用使用 DataSet 對象對象 什么是什么是 DataSet 對象對象DataSet 數(shù)據(jù)集數(shù)據(jù)集簡單理解為一個臨時數(shù)據(jù)庫簡單理解為一個臨時數(shù)據(jù)庫將數(shù)據(jù)

3、源的數(shù)據(jù)保存在內(nèi)存中將數(shù)據(jù)源的數(shù)據(jù)保存在內(nèi)存中獨立于任何數(shù)據(jù)庫獨立于任何數(shù)據(jù)庫生產(chǎn)線生產(chǎn)線應(yīng)用程序應(yīng)用程序駐留于內(nèi)存,駐留于內(nèi)存,臨時存儲數(shù)據(jù)臨時存儲數(shù)據(jù)類似的關(guān)系類似的關(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-2GradeTableCl

4、assTableStudentTableidnameclasssex1小菲小菲5女女2小薇小薇3女女3小強小強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ù)請求數(shù)據(jù)請求數(shù)據(jù)客戶端客戶端如何創(chuàng)建如何創(chuàng)建 DataSet 對象對象創(chuàng)建一個創(chuàng)建一個 DataSet可以指

5、定一個數(shù)據(jù)集的名稱可以指定一個數(shù)據(jù)集的名稱如果不指定名稱,則默認(rèn)被設(shè)為如果不指定名稱,則默認(rèn)被設(shè)為NewDataSetDataSet dataSet = new DataSet();DataSet dataSet = new DataSet(MySchool);DataSet 數(shù)據(jù)集對象數(shù)據(jù)集對象 = new DataSet(數(shù)據(jù)集的名稱字符串?dāng)?shù)據(jù)集的名稱字符串);可選的可選的為什么使用為什么使用 DataAdapter如何將數(shù)據(jù)庫的數(shù)據(jù)放在如何將數(shù)據(jù)庫的數(shù)據(jù)放在 DataSet 中?中?數(shù)據(jù)庫數(shù)據(jù)庫DataSet數(shù)據(jù)集數(shù)據(jù)集Connection數(shù)據(jù)庫連接數(shù)據(jù)庫連接DataAdapter數(shù)據(jù)適

6、配器數(shù)據(jù)適配器DataAdapter 對象對象不同命名空間的不同命名空間的 DataAdapter 對象對象命名空間命名空間對應(yīng)的對應(yīng)的 DataAdapter 對象對象System.Data.SqlClient SqlDataAdapterSystem.Data.OleDbOleDbDataAdapterSystem.Data.Odbc OdbcDataAdapterSystem.Data.OracleClientOracleDataAdapter如何填充數(shù)據(jù)集如何填充數(shù)據(jù)集 使用使用 DataAdapter 對象填充數(shù)據(jù)集對象填充數(shù)據(jù)集使用使用 Fill() 方法方法填充填充 DataSe

7、t 中的表中的表使用使用 Connection 連接數(shù)據(jù)源連接數(shù)據(jù)源ConnectionDataAdapter 的的 Fill() 方法方法填充數(shù)據(jù)集填充數(shù)據(jù)集SqlDataAdapter 對象名對象名 = new SqlDataAdapter(查詢用查詢用sql語句語句, 數(shù)據(jù)庫連接數(shù)據(jù)庫連接);創(chuàng)建創(chuàng)建 SqlDataAdapter 對象對象1DataAdapter對象對象. Fill(數(shù)據(jù)集對象數(shù)據(jù)集對象, 數(shù)據(jù)表名稱字符串?dāng)?shù)據(jù)表名稱字符串);填充填充 DataSet2如何保存如何保存 DataSet 中的數(shù)據(jù)中的數(shù)據(jù) 把數(shù)據(jù)集中修改過的數(shù)據(jù)提交到數(shù)據(jù)源把數(shù)據(jù)集中修改過的數(shù)據(jù)提交到數(shù)據(jù)源

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

9、pter對象對象);保存保存 DataSet 中的數(shù)據(jù)中的數(shù)據(jù)步驟:步驟:自動生成用于更新的相關(guān)命令自動生成用于更新的相關(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對象對象);DataAdapter對象對象. Update(數(shù)據(jù)集對象數(shù)據(jù)

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

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

12、DataGridView 的數(shù)據(jù)源的數(shù)據(jù)源DataSource 屬性屬性使用使用 DataGridView 顯示數(shù)據(jù)顯示數(shù)據(jù)實現(xiàn)步驟:實現(xiàn)步驟:添加窗體的控件添加窗體的控件設(shè)置設(shè)置 DataGridView 控件和其中各列的屬性控件和其中各列的屬性設(shè)置設(shè)置 DataSource 屬性,指定數(shù)據(jù)源屬性,指定數(shù)據(jù)源dgvTeacher.DataSource = dataSet.TablesTeacher;DataGridView 控件重要屬性控件重要屬性DataGridView 的重要屬性的重要屬性屬性屬性說明說明Columns 包含的列的集合包含的列的集合DataSourceDataGridVi

13、ew 的數(shù)據(jù)源的數(shù)據(jù)源ReadOnly是否可以編輯單元格是否可以編輯單元格在其中編輯在其中編輯 DataGridView 列的屬性列的屬性列的主要屬性小結(jié)列的主要屬性小結(jié)DataGridView 中各列的主要屬性中各列的主要屬性屬性屬性說明說明DataPropertyName綁定的數(shù)據(jù)列的名稱綁定的數(shù)據(jù)列的名稱HeaderText列標(biāo)題文本列標(biāo)題文本Visible指定列是否可見指定列是否可見Frozen指定水平滾動指定水平滾動DataGridView時列是否移動時列是否移動ReadOnly指定單元格是否為只讀指定單元格是否為只讀通過通過 DataGridView 修改數(shù)據(jù)修改數(shù)據(jù)把修改過的教師

14、信息保存到數(shù)據(jù)庫把修改過的教師信息保存到數(shù)據(jù)庫使用使用 DataAdapter 的的 Update() 方法方法注意:注意:將將 DataGridView 和相應(yīng)列的和相應(yīng)列的 ReadOnly 屬性設(shè)為屬性設(shè)為 False通過通過 DataGridView 修改數(shù)據(jù)修改數(shù)據(jù)實現(xiàn)步驟:實現(xiàn)步驟:處理處理“保存修改保存修改”按鈕的按鈕的 Click 事件事件編寫事件處理程序編寫事件處理程序SqlCommandBuilder builder = new SqlCommandBuilder(dataAdapter);dataAdapter.Update(dataSet, Teacher);小結(jié)小結(jié)使

15、用使用 DataGridView 的什么屬性指定數(shù)據(jù)源?的什么屬性指定數(shù)據(jù)源?增加增加“刷新刷新”按鈕,實現(xiàn)刷新功能按鈕,實現(xiàn)刷新功能/ 當(dāng)點擊當(dāng)點擊“刷新刷新”按鈕時,重新填充數(shù)據(jù)集按鈕時,重新填充數(shù)據(jù)集private void btnReFill_Click(object sender, EventArgs e) dataSet.TablesTeacher.Clear(); / 清空原來的數(shù)據(jù)清空原來的數(shù)據(jù) dataAdapter.Fill(dataSet, Teacher); / 填充數(shù)據(jù)集填充數(shù)據(jù)集 綜合示例綜合示例批量查看和修改批量查看和修改使用使用 DataSet填充數(shù)據(jù)集、更新數(shù)據(jù)庫填充數(shù)據(jù)集、更新數(shù)據(jù)庫使用使用 DataAdapter顯示數(shù)據(jù)顯示數(shù)據(jù)使用使用 DataGridViewMySchool 學(xué)員信息的批量查看和修改學(xué)員信息的批量查看和修改功能功能按照性別篩選顯示按照性別篩選顯示的數(shù)據(jù)的數(shù)據(jù)ADO.NET 小結(jié)小結(jié).NET 數(shù)據(jù)提供程序數(shù)據(jù)提供程序Connection

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論