![用VB開(kāi)發(fā)數(shù)據(jù)庫(kù)應(yīng)用程序?qū)嵗齙第1頁(yè)](http://file4.renrendoc.com/view5/M01/1F/14/wKhkGGYmjp2ARXJwAANh3Mvbo28272.jpg)
![用VB開(kāi)發(fā)數(shù)據(jù)庫(kù)應(yīng)用程序?qū)嵗齙第2頁(yè)](http://file4.renrendoc.com/view5/M01/1F/14/wKhkGGYmjp2ARXJwAANh3Mvbo282722.jpg)
![用VB開(kāi)發(fā)數(shù)據(jù)庫(kù)應(yīng)用程序?qū)嵗齙第3頁(yè)](http://file4.renrendoc.com/view5/M01/1F/14/wKhkGGYmjp2ARXJwAANh3Mvbo282723.jpg)
![用VB開(kāi)發(fā)數(shù)據(jù)庫(kù)應(yīng)用程序?qū)嵗齙第4頁(yè)](http://file4.renrendoc.com/view5/M01/1F/14/wKhkGGYmjp2ARXJwAANh3Mvbo282724.jpg)
![用VB開(kāi)發(fā)數(shù)據(jù)庫(kù)應(yīng)用程序?qū)嵗齙第5頁(yè)](http://file4.renrendoc.com/view5/M01/1F/14/wKhkGGYmjp2ARXJwAANh3Mvbo282725.jpg)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
關(guān)于用VB開(kāi)發(fā)數(shù)據(jù)庫(kù)應(yīng)用程序?qū)嵗齎B數(shù)據(jù)庫(kù)編程舉例本節(jié)結(jié)合“學(xué)生管理數(shù)據(jù)庫(kù)”以及其中的三張表,利用數(shù)據(jù)訪問(wèn)接口技術(shù)和ADO數(shù)據(jù)控件以及數(shù)據(jù)綁定控件,介紹在VisualBasic中開(kāi)發(fā)數(shù)據(jù)庫(kù)應(yīng)用程序的過(guò)程。
示例1
示例2
示例3
第2頁(yè),共48頁(yè),2024年2月25日,星期天示例1示例1說(shuō)明
示例1控件的屬性設(shè)置示例1程序代碼示例1實(shí)現(xiàn)過(guò)程展示第3頁(yè),共48頁(yè),2024年2月25日,星期天示例1說(shuō)明本示例說(shuō)明如何利用ADO數(shù)據(jù)控件實(shí)現(xiàn)對(duì)Student表中全部數(shù)據(jù)的瀏覽,以及如何實(shí)現(xiàn)按用戶指定的系查找相應(yīng)學(xué)生信息的功能。數(shù)據(jù)瀏覽方式采用單行瀏覽方式,即一次查看一條記錄。通過(guò)本示例我們可以看到,設(shè)置好ADO數(shù)據(jù)控件的屬性后,用戶不需要編制任何代碼就可以實(shí)現(xiàn)對(duì)數(shù)據(jù)的查詢。如果查找條件變化了,用戶只需要編寫(xiě)很少的代碼就可以實(shí)現(xiàn)對(duì)數(shù)據(jù)源的重新查詢。
第4頁(yè),共48頁(yè),2024年2月25日,星期天示例1窗體布局第5頁(yè),共48頁(yè),2024年2月25日,星期天其中“學(xué)號(hào)”、“姓名”、“性別”、“年齡”、“所在系”及“查找系”用標(biāo)簽控件(Label)實(shí)現(xiàn)。對(duì)Student表中的各列數(shù)據(jù)用文本框控件(TextBox)實(shí)現(xiàn),界面上各文本框控件內(nèi)顯示的內(nèi)容為此文本框的對(duì)象名。ADO數(shù)據(jù)控件對(duì)象名AdodcStudent。
“查找”命令按鈕的對(duì)象名為“cmdSearch”,“退出”命令按鈕的對(duì)象名為“cmdExit”。
第6頁(yè),共48頁(yè),2024年2月25日,星期天示例1控件的屬性設(shè)置對(duì)象名屬性名屬性值A(chǔ)dodcStudentConnectionString連接到SQLServer的“學(xué)生管理”數(shù)據(jù)庫(kù)CommandTypeadCmdTableRecordSourceStudentTxtSnoDataSourceAdodcStudentDataFieldSnoTxtSnameDataSourceAdodcStudent
DataFieldSnameTxtSsexDataSourceAdodcStudentDataFieldSsexTxtSageDataSourceAdodcStudentDataFieldSageTxtSdeptDataSourceAdodcStudentDataFieldSdept第7頁(yè),共48頁(yè),2024年2月25日,星期天示例1程序代碼“退出”按鈕單擊(Click)鼠標(biāo)事件程序代碼“查找”按鈕單擊(Click)鼠標(biāo)事件程序代碼窗體加載(Load事件)時(shí)初始化程序代碼第8頁(yè),共48頁(yè),2024年2月25日,星期天“退出”按鈕單擊(Click)鼠標(biāo)事件程序代碼PrivateSubCmdExit_Click()'"退出"按鈕
EndEndSub
第9頁(yè),共48頁(yè),2024年2月25日,星期天“查找”按鈕單擊(Click)鼠標(biāo)事件程序代碼PrivateSubCmdSearch_Click()'"查找"按鈕IfLen(TxtSearchDept.Text)>0Then'如果用戶指定了系名
AdodcStudent.CommandType=adCmdTextAdodcStudent.RecordSource=“select*fromstudentwhereSdept=‘“&Trim(TxtSearchDept.Text)&“‘“AdodcStudent.Refresh'使所設(shè)置的屬性生效
Else'若用戶未指定列名
MsgBox(“請(qǐng)指定要查找的系”)'則提示用戶輸入系名
EndIfEndSub
第10頁(yè),共48頁(yè),2024年2月25日,星期天窗體加載(Load事件)時(shí)初始化程序代碼PrivateSubForm_Load()
'窗體加載時(shí)初始化查找系的內(nèi)容
'初始化要查找的系為空
TxtSearchDept.Text=""EndSub第11頁(yè),共48頁(yè),2024年2月25日,星期天示例1實(shí)現(xiàn)過(guò)程展示設(shè)置控件和屬性第12頁(yè),共48頁(yè),2024年2月25日,星期天編寫(xiě)程序代碼第13頁(yè),共48頁(yè),2024年2月25日,星期天執(zhí)行程序觀察結(jié)果第14頁(yè),共48頁(yè),2024年2月25日,星期天觀察查找前后的結(jié)果第15頁(yè),共48頁(yè),2024年2月25日,星期天示例2示例2說(shuō)明
示例2控件的屬性設(shè)置示例2程序代碼示例2實(shí)現(xiàn)過(guò)程展示第16頁(yè),共48頁(yè),2024年2月25日,星期天示例2說(shuō)明示例2在示例1的基礎(chǔ)上增加了兩組供用戶操作的按鈕。一組是為了說(shuō)明如何實(shí)現(xiàn)數(shù)據(jù)更改操作,即如何使用Recordset對(duì)象的AddNew、Update、Delete和CancelUpdate方法;另一組是為了說(shuō)明如何編程控制結(jié)果集中瀏覽記錄的移動(dòng),即如何使用Recordset對(duì)象的Move方法組。
在這個(gè)示例中我們不使用ADO數(shù)據(jù)庫(kù)控件移動(dòng)記錄,而是使用四個(gè)命令按鈕實(shí)現(xiàn)此功能,因此在運(yùn)行時(shí)將ADO數(shù)據(jù)控件隱藏起來(lái)。
第17頁(yè),共48頁(yè),2024年2月25日,星期天示例2窗體布局第18頁(yè),共48頁(yè),2024年2月25日,星期天新增各命令按鈕控件的對(duì)象名分別為:
“添加”命令按鈕:cmdAdd
“刪除”命令按鈕:cmdDel
“更新”命令按鈕:cmdUpdate
“取消”命令按鈕:cmdCancel
“第一條”命令按鈕:cmdFirst
“上一條”命令按鈕:cmdPrevious
“下一條”命令按鈕:cmdNext
“末一條”命令按鈕:cmdLast“退出”命令按鈕:cmdExit
第19頁(yè),共48頁(yè),2024年2月25日,星期天示例2控件的屬性設(shè)置示例2窗體上的ADO數(shù)據(jù)控件以及各文本框控件的屬性設(shè)置同示例1。為了在運(yùn)行時(shí)隱藏ADO數(shù)據(jù)控件,我們將AdodcStudent的Visible屬性設(shè)置為:False。
第20頁(yè),共48頁(yè),2024年2月25日,星期天示例2程序代碼窗體啟動(dòng)時(shí)的初始化代碼數(shù)據(jù)操作按鈕組代碼“添加”命令按鈕“取消”命令按鈕
“刪除”命令按鈕
“更新”命令按鈕
移動(dòng)指針?lè)椒ńM代碼
“第一條”命令按鈕
“末一條”命令按鈕“下一條”命令按鈕
“上一條”命令按鈕
結(jié)束程序代碼
第21頁(yè),共48頁(yè),2024年2月25日,星期天窗體啟動(dòng)時(shí)的初始化代碼PrivateSubForm_Load()
'初始時(shí)使“取消”按鈕為不可用狀態(tài)
CmdCancel.Enabled=FalseEndSub第22頁(yè),共48頁(yè),2024年2月25日,星期天“添加”命令按鈕PrivateSubCmdAdd_Click()'“添加”命令按鈕
AdodcStudent.Recordset.AddNew
'使“添加”和“刪除”按鈕為不可用狀態(tài)
CmdAdd.Enabled=FalseCmdDel.Enabled=False
'使“更改”和“取消”按鈕為可用狀態(tài)
CmdUpdate.Enabled=TrueCmdCancel.Enabled=TrueEndSub第23頁(yè),共48頁(yè),2024年2月25日,星期天“取消”命令按鈕PrivateSubCmdCancel_Click()'“取消”命令按鈕
AdodcStudent.Recordset.CancelUpdate
'使“添加”和“刪除”按鈕為可用狀態(tài)
CmdAdd.Enabled=TrueCmdDel.Enabled=True
'使“取消”按鈕為不可用狀態(tài)
CmdCancel.Enabled=FalseEndSub第24頁(yè),共48頁(yè),2024年2月25日,星期天“刪除”命令按鈕PrivateSubCmdDel_Click()'“刪除”命令按鈕
DimresAsIntegerres=MsgBox("確實(shí)要?jiǎng)h除此行記錄嗎?",_vbExclamation+vbYesNo+vbDefaultButton2)'提示用戶
Ifres=vbYesThen'如果確實(shí)要?jiǎng)h除
AdodcStudent.Recordset.DeleteAdodcStudent.Recordset.MoveNextIfAdodcStudent.Recordset.EOF=TrueThenAdodcStudent.Recordset.MoveLastEndIfEndIfEndSub第25頁(yè),共48頁(yè),2024年2月25日,星期天“更新”命令按鈕PrivateSubCmdUpdate_Click()'“更新”命令按鈕
'將文本框中的當(dāng)前值寫(xiě)入結(jié)果集相應(yīng)字段中
AdodcStudent.Recordset.Fields("Sno")=Trim(TxtSno.Text)AdodcStudent.Recordset.Fields("Sname")=Trim(TxtSname.Text)AdodcStudent.Recordset.Fields("Ssex")=Trim(TxtSsex.Text)AdodcStudent.Recordset.Fields("Sage")=CInt(Trim(TxtSage.Text))AdodcStudent.Recordset.Fields("Sdept")=Trim(TxtSdept.Text)AdodcStudent.Recordset.Update'使更新生效
'使“添加”和“刪除”按鈕為可用狀態(tài)
CmdAdd.Enabled=TrueCmdDel.Enabled=TrueCmdCancel.Enabled=False'使“取消”按鈕為不可用狀態(tài)EndSub第26頁(yè),共48頁(yè),2024年2月25日,星期天“第一條”命令按鈕'“第一條”命令按鈕PrivateSubCmdFirst_Click()AdodcStudent.Recordset.MoveFirstEndSub第27頁(yè),共48頁(yè),2024年2月25日,星期天“末一條”命令按鈕'“末一條”命令按鈕PrivateSubCmdLast_Click()AdodcStudent.Recordset.MoveLastEndSub第28頁(yè),共48頁(yè),2024年2月25日,星期天“下一條”命令按鈕'“下一條”命令按鈕PrivateSubCmdNext_Click()AdodcStudent.Recordset.MoveNextIfAdodcStudent.Recordset.EOF=TrueThen
'如果已經(jīng)移到了最后一行之后,則將指針定位在最后一行
AdodcStudent.Recordset.MoveLastEndIfEndSub第29頁(yè),共48頁(yè),2024年2月25日,星期天“上一條”命令按鈕'“上一條”命令按鈕PrivateSubCmdPrevious_Click()AdodcStudent.Recordset.MovePreviousIfAdodcStudent.Recordset.BOF=TrueThen
'如果已經(jīng)移到了第一行之前,則將指針定位在第一行
AdodcStudent.Recordset.MoveFirstEndIfEndSub第30頁(yè),共48頁(yè),2024年2月25日,星期天結(jié)束程序代碼'“退出”命令按鈕PrivateSubCmdExit_Click()EndEndSub第31頁(yè),共48頁(yè),2024年2月25日,星期天示例2實(shí)現(xiàn)過(guò)程展示設(shè)置控件和屬性第32頁(yè),共48頁(yè),2024年2月25日,星期天編寫(xiě)程序代碼第33頁(yè),共48頁(yè),2024年2月25日,星期天執(zhí)行程序觀察結(jié)果第34頁(yè),共48頁(yè),2024年2月25日,星期天示例3示例3說(shuō)明
示例3控件的屬性設(shè)置示例3程序代碼示例3實(shí)現(xiàn)過(guò)程展示第35頁(yè),共48頁(yè),2024年2月25日,星期天示例3說(shuō)明示例3在示例1的基礎(chǔ)上增加了一個(gè)窗體,這個(gè)窗體用DataGrid控件顯示數(shù)據(jù)。示例3中的兩個(gè)窗體的布局分別圖1和圖2所示。圖1Form1布局圖2Form2布局第36頁(yè),共48頁(yè),2024年2月25日,星期天在圖所示的Form1上,當(dāng)用戶單擊“查找”命令按鈕時(shí),顯示Form2。Form2上DataGrid中的數(shù)據(jù)是根據(jù)Form1中當(dāng)前顯示的學(xué)號(hào)值去查找此學(xué)生的姓名、所修的課程名、課程的學(xué)分以及考試成績(jī)。在Form2上單擊“返回”命令按鈕(對(duì)象名為cmdReturn),可以返回到Form1,并且同時(shí)卸載Form2。
第37頁(yè),共48頁(yè),2024年2月25日,星期天示例3控件的屬性設(shè)置Form1窗體上各控件屬性的設(shè)置同示例1。Form2窗體DataGrid數(shù)據(jù)綁定控件的對(duì)象名為:dtgCondDtgCond控件的列屬性在程序代碼中設(shè)置。ADO數(shù)據(jù)控件名為:AdodcGridConnectionString屬性的值同示例1的AdodcStudentCommandType和RecordSource屬性我們?cè)诔绦虼a中設(shè)置。第38頁(yè),共48頁(yè),2024年2月25日,星期天示例3程序代碼Form1上的“查找”和“退出”命令按鈕代碼
Form2上的代碼Form2上的初始化dtgCond控件代碼Form2上的Load事件代碼Form2上“返回”按鈕代碼第39頁(yè),共48頁(yè),2024年2月25日,星期天Form1上的“查找”和“退出”命令按鈕代碼PrivateSubCmdExit_Click()'"退出"按鈕
EndEndSub
PrivateSubCmdSearch_Click()'"查找"按鈕
Form2.Show'顯示Form2窗體EndSub第40頁(yè),共48頁(yè),2024年2月25日,星期天Form2上的初始化dtgCond控件代碼PrivateSubInitGrid()'初始化dtgCond控件
WithDtgCond
'設(shè)置DtgCond的列標(biāo)題
.Columns(0).Caption="學(xué)號(hào)".Columns(1).Caption="課程名".Columns(2).Caption="學(xué)分".Columns(3).Caption="成績(jī)"
'設(shè)置DtgCond的列寬
.Columns(0).Width=1000.Columns(1).Width=2000.Columns(2).Width=800.Columns(3).Width=800EndWithEndSub第41頁(yè),共48頁(yè),2024年2月25日,星期天Form2上的Load事件代碼PrivateSubForm_Load()DimstrSnoAsStringDimstrSelectAsStringstrSno=Trim(Form1.TxtSno.Text)'得到Form1窗體上當(dāng)前顯示的學(xué)號(hào)的值
‘編寫(xiě)滿足要求的查詢語(yǔ)句,查找學(xué)號(hào)值等于給定值的學(xué)生的姓名、‘修的課程名、學(xué)分和成績(jī)
strSelect=“sel
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 新版人教PEP版三年級(jí)下冊(cè)英語(yǔ)課件 Unit 6 Part A 第1課時(shí)
- 知識(shí)產(chǎn)法在商業(yè)合作中的重要性及實(shí)踐
- 成都市成華區(qū)2024年七年級(jí)《英語(yǔ)》上冊(cè)期末試卷與參考答案
- 武漢市硚口區(qū)2022年七年級(jí)《道德》上冊(cè)期末試卷與參考答案
- 電商平臺(tái)崛起之路品牌故事與營(yíng)銷策略
- 電子行業(yè)工藝技術(shù)標(biāo)準(zhǔn)的國(guó)際化比較研究
- 河南建筑職業(yè)技術(shù)學(xué)院《文獻(xiàn)檢索與論文寫(xiě)作實(shí)驗(yàn)》2023-2024學(xué)年第二學(xué)期期末試卷
- 中國(guó)音樂(lè)學(xué)院《藥學(xué)分子生物學(xué)》2023-2024學(xué)年第二學(xué)期期末試卷
- 北京政法職業(yè)學(xué)院《工程管理》2023-2024學(xué)年第二學(xué)期期末試卷
- 電子商務(wù)行業(yè)中的跨境貿(mào)易運(yùn)營(yíng)崗位
- 中國(guó)銀行(香港)有限公司招聘筆試真題2023
- 15萬(wàn)噸水廠安裝工程施工組織設(shè)計(jì)方案
- 超級(jí)蘆竹種植項(xiàng)目可行性研究報(bào)告-具有高經(jīng)濟(jì)價(jià)值和廣泛應(yīng)用前景
- 自動(dòng)體外除顫器項(xiàng)目創(chuàng)業(yè)計(jì)劃書(shū)
- 養(yǎng)老機(jī)構(gòu)績(jī)效考核及獎(jiǎng)勵(lì)制度
- 2024年越南煤礦設(shè)備再制造行業(yè)現(xiàn)狀及前景分析2024-2030
- 長(zhǎng)塘水庫(kù)工程環(huán)評(píng)報(bào)告書(shū)
- 病案管理質(zhì)量控制指標(biāo)檢查要點(diǎn)
- DL-T5001-2014火力發(fā)電廠工程測(cè)量技術(shù)規(guī)程
- 平行四邊形的判定(27張)-完整課件
- 居民住宅小區(qū)電力配置規(guī)范
評(píng)論
0/150
提交評(píng)論