版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
關(guān)于用VB開發(fā)數(shù)據(jù)庫(kù)應(yīng)用程序?qū)嵗谝豁?,共四十八頁?022年,8月28日VB數(shù)據(jù)庫(kù)編程舉例本節(jié)結(jié)合“學(xué)生管理數(shù)據(jù)庫(kù)”以及其中的三張表,利用數(shù)據(jù)訪問接口技術(shù)和ADO數(shù)據(jù)控件以及數(shù)據(jù)綁定控件,介紹在VisualBasic中開發(fā)數(shù)據(jù)庫(kù)應(yīng)用程序的過程。
示例1
示例2
示例3
第二頁,共四十八頁,2022年,8月28日示例1示例1說明
示例1控件的屬性設(shè)置示例1程序代碼示例1實(shí)現(xiàn)過程展示第三頁,共四十八頁,2022年,8月28日示例1說明本示例說明如何利用ADO數(shù)據(jù)控件實(shí)現(xiàn)對(duì)Student表中全部數(shù)據(jù)的瀏覽,以及如何實(shí)現(xiàn)按用戶指定的系查找相應(yīng)學(xué)生信息的功能。數(shù)據(jù)瀏覽方式采用單行瀏覽方式,即一次查看一條記錄。通過本示例我們可以看到,設(shè)置好ADO數(shù)據(jù)控件的屬性后,用戶不需要編制任何代碼就可以實(shí)現(xiàn)對(duì)數(shù)據(jù)的查詢。如果查找條件變化了,用戶只需要編寫很少的代碼就可以實(shí)現(xiàn)對(duì)數(shù)據(jù)源的重新查詢。
第四頁,共四十八頁,2022年,8月28日示例1窗體布局第五頁,共四十八頁,2022年,8月28日其中“學(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”。
第六頁,共四十八頁,2022年,8月28日示例1控件的屬性設(shè)置對(duì)象名屬性名屬性值A(chǔ)dodcStudentConnectionString連接到SQLServer的“學(xué)生管理”數(shù)據(jù)庫(kù)CommandTypeadCmdTableRecordSourceStudentTxtSnoDataSourceAdodcStudentDataFieldSnoTxtSnameDataSourceAdodcStudent
DataFieldSnameTxtSsexDataSourceAdodcStudentDataFieldSsexTxtSageDataSourceAdodcStudentDataFieldSageTxtSdeptDataSourceAdodcStudentDataFieldSdept第七頁,共四十八頁,2022年,8月28日示例1程序代碼“退出”按鈕單擊(Click)鼠標(biāo)事件程序代碼“查找”按鈕單擊(Click)鼠標(biāo)事件程序代碼窗體加載(Load事件)時(shí)初始化程序代碼第八頁,共四十八頁,2022年,8月28日“退出”按鈕單擊(Click)鼠標(biāo)事件程序代碼PrivateSubCmdExit_Click()'"退出"按鈕
EndEndSub
第九頁,共四十八頁,2022年,8月28日“查找”按鈕單擊(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
第十頁,共四十八頁,2022年,8月28日窗體加載(Load事件)時(shí)初始化程序代碼PrivateSubForm_Load()
'窗體加載時(shí)初始化查找系的內(nèi)容
'初始化要查找的系為空
TxtSearchDept.Text=""EndSub第十一頁,共四十八頁,2022年,8月28日示例1實(shí)現(xiàn)過程展示設(shè)置控件和屬性第十二頁,共四十八頁,2022年,8月28日編寫程序代碼第十三頁,共四十八頁,2022年,8月28日?qǐng)?zhí)行程序觀察結(jié)果第十四頁,共四十八頁,2022年,8月28日觀察查找前后的結(jié)果第十五頁,共四十八頁,2022年,8月28日示例2示例2說明
示例2控件的屬性設(shè)置示例2程序代碼示例2實(shí)現(xiàn)過程展示第十六頁,共四十八頁,2022年,8月28日示例2說明示例2在示例1的基礎(chǔ)上增加了兩組供用戶操作的按鈕。一組是為了說明如何實(shí)現(xiàn)數(shù)據(jù)更改操作,即如何使用Recordset對(duì)象的AddNew、Update、Delete和CancelUpdate方法;另一組是為了說明如何編程控制結(jié)果集中瀏覽記錄的移動(dòng),即如何使用Recordset對(duì)象的Move方法組。
在這個(gè)示例中我們不使用ADO數(shù)據(jù)庫(kù)控件移動(dòng)記錄,而是使用四個(gè)命令按鈕實(shí)現(xiàn)此功能,因此在運(yùn)行時(shí)將ADO數(shù)據(jù)控件隱藏起來。
第十七頁,共四十八頁,2022年,8月28日示例2窗體布局第十八頁,共四十八頁,2022年,8月28日新增各命令按鈕控件的對(duì)象名分別為:
“添加”命令按鈕:cmdAdd
“刪除”命令按鈕:cmdDel
“更新”命令按鈕:cmdUpdate
“取消”命令按鈕:cmdCancel
“第一條”命令按鈕:cmdFirst
“上一條”命令按鈕:cmdPrevious
“下一條”命令按鈕:cmdNext
“末一條”命令按鈕:cmdLast“退出”命令按鈕:cmdExit
第十九頁,共四十八頁,2022年,8月28日示例2控件的屬性設(shè)置示例2窗體上的ADO數(shù)據(jù)控件以及各文本框控件的屬性設(shè)置同示例1。為了在運(yùn)行時(shí)隱藏ADO數(shù)據(jù)控件,我們將AdodcStudent的Visible屬性設(shè)置為:False。
第二十頁,共四十八頁,2022年,8月28日示例2程序代碼窗體啟動(dòng)時(shí)的初始化代碼數(shù)據(jù)操作按鈕組代碼“添加”命令按鈕“取消”命令按鈕
“刪除”命令按鈕
“更新”命令按鈕
移動(dòng)指針方法組代碼
“第一條”命令按鈕
“末一條”命令按鈕“下一條”命令按鈕
“上一條”命令按鈕
結(jié)束程序代碼
第二十一頁,共四十八頁,2022年,8月28日窗體啟動(dòng)時(shí)的初始化代碼PrivateSubForm_Load()
'初始時(shí)使“取消”按鈕為不可用狀態(tài)
CmdCancel.Enabled=FalseEndSub第二十二頁,共四十八頁,2022年,8月28日“添加”命令按鈕PrivateSubCmdAdd_Click()'“添加”命令按鈕
'使“添加”和“刪除”按鈕為不可用狀態(tài)
CmdAdd.Enabled=FalseCmdDel.Enabled=False
'使“更改”和“取消”按鈕為可用狀態(tài)
CmdUpdate.Enabled=TrueCmdCancel.Enabled=TrueEndSub第二十三頁,共四十八頁,2022年,8月28日“取消”命令按鈕PrivateSubCmdCancel_Click()'“取消”命令按鈕
'使“添加”和“刪除”按鈕為可用狀態(tài)
CmdAdd.Enabled=TrueCmdDel.Enabled=True
'使“取消”按鈕為不可用狀態(tài)
CmdCancel.Enabled=FalseEndSub第二十四頁,共四十八頁,2022年,8月28日“刪除”命令按鈕PrivateSubCmdDel_Click()'“刪除”命令按鈕
DimresAsIntegerres=MsgBox("確實(shí)要?jiǎng)h除此行記錄嗎?",_vbExclamation+vbYesNo+vbDefaultButton2)'提示用戶
Ifres=vbYesThen'如果確實(shí)要?jiǎng)h除
IfAdodcStudent.Recordset.EOF=TrueThenEndIfEndIfEndSub第二十五頁,共四十八頁,2022年,8月28日“更新”命令按鈕PrivateSubCmdUpdate_Click()'“更新”命令按鈕
'將文本框中的當(dāng)前值寫入結(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第二十六頁,共四十八頁,2022年,8月28日“第一條”命令按鈕'“第一條”命令按鈕EndSub第二十七頁,共四十八頁,2022年,8月28日“末一條”命令按鈕'“末一條”命令按鈕EndSub第二十八頁,共四十八頁,2022年,8月28日“下一條”命令按鈕'“下一條”命令按鈕IfAdodcStudent.Recordset.EOF=TrueThen
'如果已經(jīng)移到了最后一行之后,則將指針定位在最后一行
EndIfEndSub第二十九頁,共四十八頁,2022年,8月28日“上一條”命令按鈕'“上一條”命令按鈕IfAdodcStudent.Recordset.BOF=TrueThen
'如果已經(jīng)移到了第一行之前,則將指針定位在第一行
EndIfEndSub第三十頁,共四十八頁,2022年,8月28日結(jié)束程序代碼'“退出”命令按鈕PrivateSubCmdExit_Click()EndEndSub第三十一頁,共四十八頁,2022年,8月28日示例2實(shí)現(xiàn)過程展示設(shè)置控件和屬性第三十二頁,共四十八頁,2022年,8月28日編寫程序代碼第三十三頁,共四十八頁,2022年,8月28日?qǐng)?zhí)行程序觀察結(jié)果第三十四頁,共四十八頁,2022年,8月28日示例3示例3說明
示例3控件的屬性設(shè)置示例3程序代碼示例3實(shí)現(xiàn)過程展示第三十五頁,共四十八頁,2022年,8月28日示例3說明示例3在示例1的基礎(chǔ)上增加了一個(gè)窗體,這個(gè)窗體用DataGrid控件顯示數(shù)據(jù)。示例3中的兩個(gè)窗體的布局分別圖1和圖2所示。圖1Form1布局圖2Form2布局第三十六頁,共四十八頁,2022年,8月28日在圖所示的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。
第三十七頁,共四十八頁,2022年,8月28日示例3控件的屬性設(shè)置Form1窗體上各控件屬性的設(shè)置同示例1。Form2窗體DataGrid數(shù)據(jù)綁定控件的對(duì)象名為:dtgCondDtgCond控件的列屬性在程序代碼中設(shè)置。ADO數(shù)據(jù)控件名為:AdodcGridConnectionString屬性的值同示例1的AdodcStudentCommandType和RecordSource屬性我們?cè)诔绦虼a中設(shè)置。第三十八頁,共四十八頁,2022年,8月28日示例3程序代碼Form1上的“查找”和“退出”命令按鈕代碼
Form2上的代碼Form2上的初始化dtgCond控件代碼Form2上的Load事件代碼Form2上“返回”按鈕代碼第三十九頁,共四十八頁,2022年,8月28日Form1上的“查找”和“退出”命令按鈕代碼PrivateSubCmdExit_Click()'"退出"按鈕
EndEndSub
PrivateSubCmdSearch_Click()'"查找"按鈕
Form2.Show'顯示Form2窗體EndSub第四十頁,共四十八頁,2022年,8月28日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第四十一頁,共四十八頁,2022年,8月28日Form2上的Load事件代碼PrivateSubForm_Load()DimstrSnoAsStringDimstrSelectAsStringstrSno=Trim(Form1.TxtSno.Text)'得到Form1窗體上當(dāng)前顯示的學(xué)號(hào)的值
‘編寫滿足要求的查詢語句,查找學(xué)號(hào)值等于給定值的學(xué)生的姓名、‘修的課程名、學(xué)分和成績(jī)
strSelect=“selectSname,Cname,C
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 有限空間作業(yè)風(fēng)險(xiǎn)評(píng)估與監(jiān)管制度
- 2025年安全生產(chǎn)知識(shí)競(jìng)賽培訓(xùn)試題判斷題及答案
- 2025廣西梧州市龍投人力資源有限公司招聘1人筆試參考題庫(kù)及答案解析
- 2025廣東惠州市惠城區(qū)招聘碩博士研究生20人(編制)筆試模擬試題及答案解析
- 2026年1月廣東湛江市坡頭區(qū)人力資源和社會(huì)保障局招聘編外人員2人筆試備考題庫(kù)及答案解析
- 中學(xué)英語閱讀理解專項(xiàng)提升訓(xùn)練
- 2025廣西梧州市龍投人力資源有限公司招聘1人筆試模擬試題及答案解析
- 2025四川九州電子科技股份有限公司招聘技術(shù)員10人考試參考題庫(kù)及答案解析
- 讀書活動(dòng)主題班會(huì)實(shí)施方案
- 幼兒認(rèn)知發(fā)展促進(jìn)活動(dòng)指南
- 云南民族大學(xué)附屬高級(jí)中學(xué)2026屆高三聯(lián)考卷(四)化學(xué)+答案
- 楷書簡(jiǎn)介課件復(fù)制
- 《做酸奶》課件教學(xué)課件
- 2025西部機(jī)場(chǎng)集團(tuán)航空物流有限公司招聘考試筆試備考試題及答案解析
- 《教育心理學(xué)》期末重點(diǎn)鞏固專練題庫(kù)(附答案)
- 2025年秋人教版(新教材)初中數(shù)學(xué)七年級(jí)上冊(cè)期末綜合測(cè)試卷及答案
- 施工升降機(jī)操作培訓(xùn)試題及答案
- 企業(yè)檔案基礎(chǔ)知識(shí)課件
- 醫(yī)院購(gòu)買物業(yè) 保潔服務(wù)項(xiàng)目方案投標(biāo)文件(技術(shù)方案)
- 設(shè)備技術(shù)員年終工作總結(jié)
- 智慧樹知道網(wǎng)課《生物統(tǒng)計(jì)學(xué)(海南大學(xué))》課后章節(jié)測(cè)試答案
評(píng)論
0/150
提交評(píng)論