使用c#開發(fā)Windows數(shù)據(jù)庫應用程序.ppt
《使用c#開發(fā)Windows數(shù)據(jù)庫應用程序.ppt》由會員分享,可在線閱讀,更多相關《使用c#開發(fā)Windows數(shù)據(jù)庫應用程序.ppt(23頁珍藏版)》請在裝配圖網(wǎng)上搜索。
第七章使用c 開發(fā)Windows數(shù)據(jù)庫應用程序 7 1數(shù)據(jù)綁定 數(shù)據(jù)綁定是指數(shù)據(jù)源元素與圖形界面的接口技術 在應用程序中使用數(shù)據(jù)綁定減少了為從數(shù)據(jù)對象檢索數(shù)據(jù)而必須編寫的代碼量 ADO NET為圖形控件提供了整潔的數(shù)據(jù)綁定結構 數(shù)據(jù)源可以是從數(shù)組到數(shù)據(jù)庫中的一組記錄 或者是實現(xiàn)IEnumerable接口的任何對象 如DataView對象 窗體綁定有兩種方式 簡單數(shù)據(jù)綁定和復雜數(shù)據(jù)綁定 Windows數(shù)據(jù)綁定控件能夠綁定數(shù)據(jù) 因為Binding類提供了這樣的功能 System Windows Forms Binding 這個類由 NETFramework提供 負責在每個控件屬性和數(shù)據(jù)源中的數(shù)據(jù)元素之間創(chuàng)建簡單的綁定 textBox1 DataBindings Add Text ds Employees FirstName 控件DataBinding屬性可以使用Add方法添加其中的每個屬性 Add方法有三個參數(shù) 第一個參數(shù)是控件屬性的名稱 第二個參數(shù)是下列任意類 或者實現(xiàn)下列任意接口的類的實例 第三個參數(shù)描述數(shù)據(jù)源中的數(shù)據(jù)成員 它必須是能轉化為標量值的字符串文字 表7 1可用于Binding類構造函數(shù)的第二個參數(shù)的類 如果想顯示聲明Binding對象 可用下面的代碼實現(xiàn) BindingnewBind newBinding Text ds Employee FirstName textBox1 DataBindings Add newBind 如果想把兩個或多個控件綁定到相同的數(shù)據(jù)元素 可以使用這種方法 textBox1 DataBindings Add newBind Label1 DataBindings Add newBind 實現(xiàn)把TextBox控件的Text屬性綁定到表中的數(shù)據(jù)元素上 將TextBox和Label控件綁定到表中相同的列 7 1 1簡單數(shù)據(jù)綁定 簡單數(shù)據(jù)綁定是指每個控件屬性與數(shù)據(jù)源的單一元素之間的一對一關系 簡單數(shù)據(jù)綁定可用于一次顯示一個值的控件 如TextBox的Text屬性 把它綁定到DataTable中的一個列 如果修改了底層的數(shù)據(jù)源 則調用控件的Refresh方法更新綁定過的數(shù)據(jù)源 反應所發(fā)生的變化 textBoxID DataBingdings Add Text custList CustomerID textBoxTitle DataBingdings Add Text custList ContactTitle textBoxLastName DataBingdings Add Text custList ContactName textBoxFirstName DataBingdings Add Text custList CompanyName textBoxAddress DataBingdings Add Text custList Address 將一組TextBox控件上的Text屬性綁定到作為客戶列表存儲的Customer對象的屬性 7 1 2復雜數(shù)據(jù)綁定 復雜數(shù)據(jù)綁定指將控件綁定到集合 而不是將控件綁定到集合內的單個項 下面的例子 將ComboBox綁定到State對象的一個數(shù)組 publicstructState privatestringshortName longName publicState stringlongName stringshortName this shortName shortName this longName longName publicstringShortName get returnshortName publicstringLongName get returnLongName privateState States newState newState Alabama AL newState Washington WA comboBoxState DataSource States comboBoxState DisplayMenber LongName 通常 在數(shù)據(jù)綁定窗體中 ComboBox用于查找值 7 2數(shù)據(jù)源的類型 7 2 1數(shù)組作為數(shù)據(jù)源在大多數(shù)情況下 Array最適合于存儲和檢索一致的數(shù)據(jù) 數(shù)組在運行時支持對數(shù)據(jù)的處理 且容易在代碼中通過ICollection接口使用 privatevoidForm1 load objectsender System EventArgse string book newstring 操作系統(tǒng) 2005年月 25 00元 textBox1 DataBinding Add Text book null 上面的代碼綁定到TextBox的Text屬性上的一個字符串數(shù)組 把Add 方法的第三個參數(shù)值指定為null 是因為數(shù)組沒有數(shù)據(jù)成員或者可進一步轉換為單個標量值的導航路經(jīng) 為了能夠遍歷操作數(shù)組 可以使用綁定管理器的Position屬性 BindingManagerBasebManager this BindingContext book null bManager Positon 1 7 2 2數(shù)據(jù)表作為數(shù)據(jù)源 DataTable類實現(xiàn)IListSource接口 DataTable數(shù)據(jù)源既可用于簡單綁定例子 也可用與復雜綁定例子 把DataTable綁定到控件可以有兩種方式 一種把整個表綁定到支持復雜綁定的控件上 另一種是把單個的列綁定到支持簡單綁定的控件上 把ListBox控件綁定到了從填充過的DataSet提取的DataTable對象上 代碼如下 DataTablemyTable ds Tables Employee listBox1 DataSource myTable listBox1 DisplayMember FirstName listBox控件的DataSource屬性采用集合對象myTable作為數(shù)據(jù)源 DisplayMember屬性采用數(shù)據(jù)源內的數(shù)據(jù)成員 用數(shù)據(jù)填充ListBox TextBox1 DataBindings Add Text myTable FirstName 簡單的數(shù)據(jù)綁定 7 2 3數(shù)據(jù)集作為數(shù)據(jù)源 數(shù)據(jù)集DataSet類實現(xiàn)IlistSource接口 DataSet的數(shù)據(jù)綁定快速而直觀 而且可以實現(xiàn)與數(shù)據(jù)源斷開連接 這使它成為數(shù)據(jù)綁定控件的重要數(shù)據(jù)源之一 下面的代碼把DataSet綁定到一個頁面的兩個textBox控件上 這些代碼放在Form Load事件處理程序中 填充數(shù)據(jù)集da Fill ds Products 首先 用Northwind數(shù)據(jù)庫的Products表中的數(shù)據(jù)填充DataSet 接著把特定的字段綁定到兩個TextBox控件上 把textBox1的Text綁定到ProductName列上textBox1 DataBindings Add Text ds Products ProductName 把textBox2的Text綁定到UnitPrice列上textBox2 DataBindings Add Text ds Products UnitPrice 7 2 4數(shù)據(jù)視圖作為數(shù)據(jù)源 DataView類實現(xiàn)ItypeList接口 提供DataTable的可定制視圖 綁定到DataView對象像綁定到DataTable對象一樣簡單 因為DataView提供了DataTable內容的動態(tài)視圖 通過實現(xiàn)定制排序和篩選 使用DataView可以對所顯示的數(shù)據(jù)提供進一步的控制 填充數(shù)據(jù)集da Fill ds Employee DataTablemyTable ds Tables Employees 創(chuàng)建一個數(shù)據(jù)視圖DataViewdv newDataView myTable County USA FirstName DataViewRowState CurrentRows 綁定到FirstName列textBox1 DataBindings Add Text dv FirstName 綁定到LastName列textBox2 DataBindings Add Text dv LastName 首先用數(shù)據(jù)填充DataSet 接著創(chuàng)建DataTable 然后用DataView對象提取數(shù)據(jù) 從DataTable對象的表中選擇在美國的所有雇員的姓名列 最后進行數(shù)據(jù)綁定 例 Binding stringCString Provider Microsoft Jet OLEDB 4 0 DataSource E shishuo 課件 C 師碩 第五部分c 數(shù)據(jù)庫編程 student MDB 設置連接字符stringSQLStr select FromStudent 設置SQL命令字符串OleDbConnectionMycon newOleDbConnection CString 創(chuàng)建連接對象Mycon Open 打開連接OleDbCommandMyCom newOleDbCommand 創(chuàng)建Command對象MyCom Connection Mycon 通過Mycon連接對象操作數(shù)據(jù)庫MyCom CommandType CommandType Text 設置命令類型MyCom CommandText SQLStr 設置要執(zhí)行的命令OleDbDataAdapterMydataAdapter newOleDbDataAdapter 生成OleDbDataAdapter對象MydataAdapter SelectCommand MyCom 設置MyDataAdapter對象的SelectCommand屬性值為創(chuàng)建的OleDbCommand對象名DataSetMyDs newDataSet 產(chǎn)生新的數(shù)據(jù)集MydataAdapter Fill MyDs student 填充數(shù)據(jù)集 把六個TextBox控件與數(shù)據(jù)集中的響應字段綁定在一起this textBox1 DataBindings Add Text MyDs student StudentID this textBox2 DataBindings Add Text MyDs student Name this textBox3 DataBindings Add Text MyDs student Sex this textBox4 DataBindings Add Text MyDs student ClassID this textBox5 DataBindings Add Text MyDs student Birthday this textBox6 DataBindings Add Text MyDs student Address Navigator this BindingContext MyDs student 用Navigator綁定student表 7 3使用DataGrid顯示數(shù)據(jù) Windows窗體DataGrid控件在一系列行和列中顯示數(shù)據(jù) 最簡單的情況就是當網(wǎng)絡綁定到具有單個表的數(shù)據(jù)源時 在這種情況下 數(shù)據(jù)顯示在簡單的行和列中 就像在電子表格中一樣 如果DataGrid綁定到具有多個相關表的數(shù)據(jù) 并且在網(wǎng)格上啟用了導航功能 則網(wǎng)格將在每行中都顯示展開器 展開器允許從父表移動到子表 單擊某個節(jié)點會顯示子表 而單擊 后退 按鈕會顯示原始的父表 這種方式下 網(wǎng)格會顯示各表間的分層關系 DataGrid可以為數(shù)據(jù)集提供用戶界面 相關表之間的導航功能以及豐富的格式設置和編輯功能 DataGrid以網(wǎng)格的形式顯示數(shù)據(jù) 同時還能完成數(shù)據(jù)的添加 刪除和更改操作 為了使DataGrid控件能夠顯示數(shù)據(jù) 需要將該控件與數(shù)據(jù)集綁定起來 綁定方法有設計時綁定和運行時綁定兩種 設計時綁定需要設置該控件的DataSource屬性和DataMenber屬性 把DataSource屬性設置為要綁定的數(shù)據(jù)集名稱 通常通過下拉列表來選擇 把DataMenber屬性設置為響應數(shù)據(jù)集中的數(shù)據(jù)表 也可通過下拉列表來選擇 運行時綁定可通過調用DataGrid控件的SetDataBinding方法來實現(xiàn) 格式 publicvoidSetDataBinding objectdataSource stringdataMenber 功能 在運行時設置DataGrid控件的DataSource和DataMenber屬性 參數(shù)dataSource將作為DataGrid控件的DataSource屬性值 參數(shù)dataMenber將作為DataGrid控件的DataMenber屬性值 使用DataGrid控件可以進行數(shù)據(jù)行的增加 刪除和數(shù)據(jù)列的修改等操作 但只更改的是數(shù)據(jù)集中的數(shù)據(jù) 并沒有更改實際數(shù)據(jù)源中的數(shù)據(jù) 要想更改數(shù)據(jù)源中的數(shù)據(jù)還需要調用DataAdapter控件的Update方法 7 4應用實例- 配套講稿:
如PPT文件的首頁顯示word圖標,表示該PPT已包含配套word講稿。雙擊word圖標可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設計者僅對作品中獨創(chuàng)性部分享有著作權。
- 關 鍵 詞:
- 使用 c# 開發(fā) Windows 數(shù)據(jù)庫 應用程序
裝配圖網(wǎng)所有資源均是用戶自行上傳分享,僅供網(wǎng)友學習交流,未經(jīng)上傳用戶書面授權,請勿作他用。
鏈接地址:http://m.appdesigncorp.com/p-5186920.html