![VB 更新學生信息_第1頁](http://file4.renrendoc.com/view/583c5ecde13547ba13706968d11807bb/583c5ecde13547ba13706968d11807bb1.gif)
![VB 更新學生信息_第2頁](http://file4.renrendoc.com/view/583c5ecde13547ba13706968d11807bb/583c5ecde13547ba13706968d11807bb2.gif)
![VB 更新學生信息_第3頁](http://file4.renrendoc.com/view/583c5ecde13547ba13706968d11807bb/583c5ecde13547ba13706968d11807bb3.gif)
![VB 更新學生信息_第4頁](http://file4.renrendoc.com/view/583c5ecde13547ba13706968d11807bb/583c5ecde13547ba13706968d11807bb4.gif)
![VB 更新學生信息_第5頁](http://file4.renrendoc.com/view/583c5ecde13547ba13706968d11807bb/583c5ecde13547ba13706968d11807bb5.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
VB第13章更新學生信息CONTENTS第五章Access2010窗體第1章Microsoft.NET與VisualBasic第2章VB2010初步——電子時鐘程序第3章猜數游戲第4章抽獎程序第5章圖片瀏覽器第6章構建宿舍管理系統(tǒng)項目主窗體第7章實現(xiàn)系統(tǒng)登錄CONTENTS第8章查看用戶信息第9章編輯用戶信息第10章簡化數據庫操作第11章添加學生信息第12章查看學生列表第13章更新學生信息第14章實訓項目——通訊錄管理系統(tǒng)任務13.1將學生信息更新到數據庫更新后的學生信息都存儲在DataSet中的DataTable對象里,這些數據緩存在本地內存中,它們是不會自動更新到數據庫中的,必須另外編寫代碼完成更新。DataAdapter對象的Update()方法可以完成這個任務。Update()方法的調用格式為:DataAdapter對象.Update(DataTable對象)
或DataAdapter對象.Update(DataSet對象,“表名稱”)任務13.1將學生信息更新到數據庫13.1.1DataAdapter對象更新原理任務13.1將學生信息更新到數據庫13.1.2CommandBuilder對象CommandBuilder對象可以根據給定的SELECT語句自動生成相應的Insert語句、Delete語句和Update語句。每一個.NET數據提供程序都有自己的CommandBuilder類。使用CommandBuilder對象自動生成SQL語句,實現(xiàn)更新數據庫的操作一般按如下步驟進行:1.創(chuàng)建Connection對象,與數據庫建立連接。2.創(chuàng)建查詢用的SELECTSQL語句。3.使用SQL語句和Connection對象創(chuàng)建Command對象。4.使用Command對象創(chuàng)建DataAdapter對象。5.使用DataAdapter對象創(chuàng)建CommandBuilder對象。6.調用DataAdapter對象的Update()方法更新數據庫。示例:使用DataSet對象讀取UserInfo表中的數據,并將第1個用戶的密碼(Password列)修改為“000000”,然后調用DataAdapter對象Update()方法將修改后的數據更新到數據庫中。實現(xiàn)步驟:1.建立一個Windows應用程序。在窗體中繪制一個Button控件,設置控件的Name屬性值為“btnChange”,Text屬性為“修改用戶密碼”。2.編寫btnChange按鈕的Click事件,通過DataAdapter對象的Fill()方法將UserInfo表中的數據填充到DataSet里,然后直接修改DataSet中第1行數據的Password列的內容,接下來創(chuàng)建CommandBuilder對象,為DataAdapter自動生成相應屬性,最后調用Update()方法將數據更新到數據庫。任務13.1將學生信息更新到數據庫13.1.2CommandBuilder對象使用CommandBuilder對象自動生成命令可以大大簡化代碼量,但是會有一些局限性,我們要特別注意:1.DataAdapter對象中初始的SELECT語句中只能引用一個表,不能引用多個表。也就是說,如果DataAdapter對象描述了從兩個表中查詢數據,那么CommandBuilder對象就不能自動生成命令。2.數據表中必須包含主鍵或其中至少有一列上具有唯一性約束,并且SELECT語句返回的結果中必須包含這個列。3.表或列的名稱中不能包含空格或特殊符號,否則CommandBuilder對象將生成無效的命令。例如:上面的代碼中,由于adp對象指定的SELECT語句中引用了abc和xyz兩個表,所以CommandBuilder對象不能自動生成命令,更新數據時出現(xiàn)異常。任務13.1將學生信息更新到數據庫13.1.3更新學生信息1.添加Update()方法在DB類中添加一個名為“Update()”的共享方法,這個方法可以將指定的DataTable中的數據更新到數據庫。任務13.1將學生信息更新到數據庫13.1.3更新學生信息2.調用DB類的Update()方法編寫btnSave按鈕的Click事件,更新數據。任務13.2修改學生性別在StudentList窗體的DataGridView控件中,我們可以直接修改學生的信息。但在修改學生性別信息時,我們很可能會將性別值寫成“男”、“女”之外的其他值。這顯然是一個笑話!那么,如何避免出現(xiàn)這個問題呢?沒錯!就是使用快捷菜單(ContextMenuStrip)。我們可以在菜單項中選擇修改為“男”或“女”,這樣就不會出問題了。1.建立快捷菜單在窗體中添加一個ContextMenuStrip控件,將其Name屬性設置為“cmsSex”。再為其添加兩個菜單項,分別表示“男”和“女”。將“男”菜單的Name屬性設置為“tsmMan”,Text屬性設置為“男”;將“女”菜單的Name屬性設置為“tsmWoman”,Text屬性設置為“女”。任務13.2修改學生性別2.修改選中的行
DataGridView控件的CurrentRow屬性表示當前選中的行,CurrentRow屬性的Cells屬性集合表示當前選中行的各個列,設置列的Value屬性就可以改變當前行中某個列的值。任務13.2修改學生性別在StudentList窗體中添加一個名為“ChangeSex()”的方法,它可以將DataGridView控件的選中行的性別列修改為指定的內容。然后,分別在“男”、“女”兩個菜單項的Click事件中調用ChangeSex()方法修改性別信息。任務13.3修改住宿房間1.動態(tài)添加菜單項13.3.1動態(tài)生成菜單
ContextMenuStrip控件的Items屬性集合包含了菜單中所有的菜單項,可以以代碼的方式向Items屬性集合中添加新的菜單項來實現(xiàn)動態(tài)添加菜單。添加語法格式為:ContextMenuStrip.Items.Add(新菜單項)示例:為ContextMenuStrip控件動態(tài)添加5個菜單項,菜單項的內容分別是“1”,“2”,“3”,“4”,“5”。實現(xiàn)步驟:(1)建立一個Windows應用程序。(2)編寫btnAdd按鈕的Click事件,通過一個5次的循環(huán)向cms控件添加5個菜單項。任務13.3修改住宿房間2.處理菜單事件13.3.1動態(tài)生成菜單事件是對象發(fā)送的消息,用以發(fā)送信號通知操作的發(fā)生。操作可能是由用戶交互(例如鼠標單擊)引起的,也可能是由某些其他的程序邏輯觸發(fā)的。引發(fā)事件的對象稱為事件發(fā)送方。捕獲事件并對其作出響應的對象叫事件接收方。在事件通信中,事件發(fā)送方類不知道哪個對象或方法將接收到(處理)它引發(fā)的事件。需要的是,在源和接收方之間存在一個媒介(或類似指針的機制)。.NETFramework定義了Delegate類型(委托),該類型提供函數指針的功能。EventHandler委托是一個預先定義的委托,表示事件的處理程序方法。委托簽名格式為:Sub方法名(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)定義EventHandler委托可以按照下面的步驟進行:(1)定義一個與EventHandler委托簽名格式相同的方法。(2)使用EventHandler類將方法與事件相關聯(lián)。示例:為菜單定義Click事件,使得單擊菜單項后能夠顯示選擇的菜單的內容。實現(xiàn)步驟:(1)在窗體中定義一個名稱為“tsmi_Click()”的方法。(2)在動態(tài)添加菜單的循環(huán)中添加使用EnevtHander類,將tsmi_Click()方法與菜單項的Click事件相關聯(lián)。小技巧:在定義委托事件時,當輸入“AddressOftsmiClick”語句后,VisualStudio開發(fā)環(huán)境會自動在tsmiClick下顯示“錯誤糾正選項”菜單,此時,單擊菜單,選擇“生成tsmiClick方法存根”選項,VisualStudio開發(fā)環(huán)境將自動為我們建立與Click事件委托簽名格式相同的方法,這樣就不用手工編寫了。任務13.3修改住宿房間3.獲取數據庫信息,動態(tài)添加房間號菜單13.3.1動態(tài)生成菜單首先在窗體中添加一個ContextMenuStrip控件,將其Name屬性設置為“cmsRoom”,用來顯示房間號菜單。然后,將DataGridView控件中“性別”列的ContextMenuStrip屬性設置為“cmsRoom”,同時將ReadOnly屬性設置為“True”。接下來,在窗體的Load事件添加代碼,實現(xiàn)讀取數據庫中RoomInfo表中的信息,并將信息動態(tài)添加到cmsRoom菜單中。任務13.3修改住宿房間1.使用Find()方法查詢數據13.3.2在DataView中查詢數據
DataView對象提供了Find()方法,它可以按指定的關鍵字在DataView中查找相應的數據。Find()方法使用格式為:dataView.Find(查詢內容)例如:假設dv是一個DataView對象,要查詢學生編號(SID)為“5”的記錄在第幾行的代碼為:dv.Sort=“sid”'排序,設置查詢關鍵字intc=dv.Find(5)'查詢SID為“5”的記錄在DataView中的位置任務13.3修改住宿房間2.完成修改宿舍信息13.3.2在DataView中查詢數據本章總結在這一章中,我們實現(xiàn)了更新學生信息的功能,可以修改住宿學生的房間、性別等信息。主要學習了:DataAdapter對象的Update()方法可以向數據庫中更新數據,該對象的InsertCommand,DeleteCommand和UpdateCommand屬性表示更新數據時所用到的Command對象。CommandBuilder對象可以幫助我們快速生成DataAdapter對象更新數據時所需要的更新命令(Command對象)。DataGridView控件支持數據編輯功能,我們可以在控件中直接修改數據。將DataGridView控件中列的ReadOnly屬性設置為“True”可以禁止用戶在控件中直接修改數據。設置ContextMenuStrip屬性可以為列添加一個快捷菜單。在代碼中定義ToolStripMen
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 現(xiàn)代家居設計與生活品質的提升
- 現(xiàn)代辦公環(huán)境中營銷自動化策略的實施
- Unit2 An Accident(說課稿)-2024-2025學年北師大版(三起)英語六年級上冊
- 3-1《百合花》(說課稿)高一語文同步高效課堂(統(tǒng)編版 必修上冊)
- 2023二年級數學上冊 七 分一分與除法第5課時 小熊開店說課稿 北師大版
- 3 天窗(說課稿)2023-2024學年部編版語文四年級下冊
- 《8和9的加、減法的應用》(說課稿)-2024-2025學年一年級上冊數學人教版
- Unit 1 Art Using language 2 說課稿 -2023-2024學年高中英語人教版(2019)選擇性必修第三冊
- Unit 5 Colours Lesson 1(說課稿)-2024-2025學年人教新起點版英語一年級上冊
- 2023四年級數學上冊 1 大數的認識第4課時 億以內數的大小比較說課稿 新人教版
- 2024年全國高考新課標卷物理真題(含答案)
- 生鮮超市未來工作計劃
- 勞動合同薪酬與績效約定書
- 消除醫(yī)療歧視管理制度
- 柴油機油-標準
- 足療店營銷策劃方案
- 《初三開學第一課 中考動員會 中考沖刺班會》課件
- 學校安全一崗雙責
- 2024年全國版圖知識競賽(小學組)考試題庫大全(含答案)
- 產后修復學習培訓課件
- 高考志愿咨詢培訓課件
評論
0/150
提交評論