下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
VB5.0中數(shù)據(jù)庫查詢模塊的實現(xiàn)
摘要:查詢模塊是數(shù)據(jù)庫管理系統(tǒng)中不可缺少的部分。本文介紹在VB5.0環(huán)境下四種數(shù)據(jù)庫查詢的實現(xiàn)方法,并主要介紹了使用SELECT-SQL語句來實現(xiàn)數(shù)據(jù)庫的查詢功能關(guān)鍵字:VB5.0數(shù)據(jù)庫表查詢SQLVB全稱VisualBasic,是微軟公司推出的基于Windows的可視化編程環(huán)境,以其簡單易學(xué)、編程簡潔、程序集成化高、功能強大而倍受程序員及廣大電腦愛好者的青睞。它在數(shù)據(jù)庫應(yīng)用方面也有相當(dāng)強大的功能。查詢模塊是數(shù)據(jù)庫管理系統(tǒng)中不可缺少的部分。在VB中進行數(shù)據(jù)庫記錄查詢操作,根據(jù)打開數(shù)據(jù)庫的方式來確定。大概有四種查詢方法:SEEK方法查詢、FILTER屬性查詢、Find方法查詢、SQL查詢。本文對前三種方法只作簡單說明,著重介紹第四種SQL查詢方法。1、SEEK方法查詢、FILTER屬性查詢、Find方法查詢的簡單說明。用SEEK方法查詢:這種方法只使用于以O(shè)PENTABLE方式打開的數(shù)據(jù)表,而且在查詢之前必須要對查詢字段建立索引文件,由于已建立了索引文件,所以查詢速度快,這種方式結(jié)果是將指針移到符合條件的第一個記錄。例如:SETTB=DB.OPENTABLE(“INPUT”)TB.INDEX=”NAMEINDEX”TB.SEEK”=”,“石腦油”用FILTER屬性查詢:FILTER屬性查詢是用來過濾數(shù)據(jù)的,只要我們給定過濾條件就可以將所需的記錄篩選出來。需要說明的是,我們需要將以Filter屬性篩選出來的數(shù)據(jù)集打開才能對其進行操作。例如:SetDy1=db.CreateDynaset(“input”)Dy1.Filter=”物資名稱like‘石*’”SetDy2.Dy1.CreateDynaset()用Find方法查詢。Find查詢有Findfirstfindnext兩個方法,每次查詢到一個記錄。例如:SetDy=db.CreateDynaset(“input”)S=”到貨數(shù)量>100and物資名稱like‘石腦油’”Dy.FindfirstSDy.FindnextS2、用SQL查詢。2.1、Select-SQL查詢語句的格式:SQL(STRUCTUREQUERYLANGUAGE)即結(jié)構(gòu)化查詢語言,是查詢關(guān)系型數(shù)據(jù)庫的常用語言。由于SQL語言使用方便、功能豐富、簡單易學(xué)得到很快的應(yīng)用和推廣,是各種關(guān)系型數(shù)據(jù)庫的公用語言。使用SQL查詢可以從一個表或多個表或視圖中對數(shù)據(jù)庫進行查詢(有關(guān)SQL的更多信息,請參閱相關(guān)書籍,本文不多介紹)。它的核心語句是Select-SQL語句。Select-SQL查詢語句的格式:SELECT[DICTINCT/ALL]查詢目標列FROMtableexpression表名/視圖名[WHERE]條件[GROUPBY...]將查詢結(jié)果的記錄分組[HAVING...]滿足條件的分組[ORDERBY...]對查詢結(jié)果進行排序下面應(yīng)用筆者完成的《供應(yīng)處物資管理軟件》為例,。說明使用SELECT-SQL查詢語句實現(xiàn)查詢模塊具體方法。2.2單項查詢模塊的實現(xiàn):2.2.1應(yīng)用的數(shù)據(jù)庫in_db.mdb中包含表:input字段名:物資名稱、供貨單位、供貨日期、到貨數(shù)量、總金額…….等等。2.2.2定義窗體及控件:如下表如圖(1):單項查詢模塊窗體圖2.2.3編寫程序代碼:上述設(shè)計完成后,可以對窗體及控件的事件編寫代碼:‘變量定義Dimmy_dbAsDatabaseDimmy_drAsRecordsetDimField_val1AsStringDimField_val3AsDateDimField_val32AsDateDimField_val4AsIntegerDimField_val42AsIntegerDimSearch_txtAsIntegerPrivateSubForm_Load()Search_txt=1Text1.Text=""Text2.Text=""Label2.Caption=""EndSubPrivateSubCommand1_Click()‘確定按鈕SelectCaseSearch_txtCase1‘若選擇“物資名稱”Field_val1=Text1.TextSetmy_db=OpenDatabase("d:\zu_vb\in_db.mdb")Setmy_dr=my_db.OpenRecordset("input")ss1="select*frominputwhere(物資名稱="&"'"&Field_val1&"')"Data1.RecordSource=ss1Data1.RefreshCase2‘若選擇“供貨單位”...Case3‘若選擇“供貨日期”Field_val3=Text1.TextField_val32=Text2.TextIfVal(DateDiff("d",(Text1.Text),(Text2.Text)))>=0ThenSetmy_db=OpenDatabase("d:\zu_vb\in_db.mdb")Setmy_dr=my_db.OpenRecordset("input")ss1="select*frominputwhere供貨日期between"&"#"_&Field_val3&"#"_&"and"&"#"&Field_val32&"#"Data1.RecordSource=ss1Data1.RefreshElsezz=MsgBox("您輸入的起始日期比終止日期大,請重新輸入!",vbCritical,"嚴重警告,輸入無效!")EndIfCase4‘若選擇“到貨數(shù)量”Field_val4=Text1.TextField_val42=Text2.TextSetmy_db=OpenDatabase("d:\zu_vb\in_db.mdb")Setmy_dr=my_db.OpenRecordset("input")ss1="select*frominputwhere到貨數(shù)量between"&Field_val4_&"and"&Field_val42Data1.RecordSource=ss1Data1.RefreshCase5...EndSelectEndSubPrivateSubCommand2_Click()‘取消查詢Text1.Text=""Text2.Text=""如圖(2)多項查詢模塊窗體圖2.3.3編寫程序代碼:上述設(shè)計完成后,可以對窗體及控件的事件編寫代碼:下面程序可實現(xiàn)“物資名稱”為某值,供貨日期在一定范圍的采購明細的查詢?!x變量Dimmy_dbAsDatabaseDimmy_drAsRecordsetDimcom_txtAsStringDimtxt1AsDateDimtxt2AsDatePrivateSubCommand1_Click()‘判斷如果輸入值不是日期型的,是無效值IfNotIsDate(Text1.Text)Thenz=MsgBox("非法起始日期,請重新輸入!",vbCritical,"嚴重警告,輸入無效!")Text1.SetFocusElseIfNotIsDate(Text2.Text)Thenz=MsgBox("非法終止日期,請重新輸入!",vbCritical,"嚴重警告,輸入無效!")Text2.SetFocusElseIfVal(DateDiff("d",(Text1.Text),(Text2.Text)))>=0Then'''*****設(shè)置條件*********com_txt=Form5.Combo1.Texttxt1=Form5.Text1.Texttxt2=Form5.Text2.TextSetmy_db=OpenDatabase("d:\zu_vb\in_db.mdb")Setmy_dr=my_db.OpenRecordset("input")ww1="select*frominputwhere(物資名稱="&"'"&com_txt&"'"_…&"and(供貨日期between"&"#"&txt1&"#"_&"and"&"#"&txt2&"#))"Data1.RecordSource=ww1Data1.RefreshElsezz=MsgBox("您輸入的起始日期比終止日期大,請重新輸入!",vbCritical,"嚴重警告,輸入無效!")EndIfEndIfEndIfEndSubPrivateSubForm_Load()‘將項目“石腦油”、輕烴、純苯………添加到combo1控件中Combo1.AddItem"石腦油"Combo1.AddItem"輕烴"Combo1.AddItem"純苯"Combo1.AddItem"丙烯腈"Combo1.AddItem"甲基丙烯酸甲脂"Combo1.AddItem"聚丁二烯乳膠"Combo1.AddItem"C2"Combo1.AddItem"C3/C4"Combo1.AddItem"C5"Combo1.AddItem"鹽酸"Combo1.AddItem"液堿"Combo1.Text="石腦油"‘設(shè)置combo1的初始值Text1.Text=D
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 教學(xué)培訓(xùn)合同協(xié)議
- 旅游分公司協(xié)議書
- 旅游押金合同范本
- 旅游門票合同范本
- 旗桿銷售合同范本
- 舊物回收合同范本
- 晶端勞動合同范本
- 2025年數(shù)字化鄉(xiāng)村治理平臺建設(shè)項目可行性研究報告
- 2025年高原地區(qū)清潔能源載能數(shù)據(jù)中心可行性研究報告
- 拆大棚安全協(xié)議書
- 2025年書記員面試題(附答案)
- 國庫集中支付課件
- 小學(xué)蘇教版科學(xué)二年級上冊(2024)知識點梳理及2025秋期末測試卷
- 2024-2025學(xué)年山東省煙臺市招遠市一年級(上)期末數(shù)學(xué)試卷
- 初中安全教育教案全集
- 培訓(xùn)學(xué)校教師安全教育課件
- 2025年12月“第一議題”學(xué)習(xí)內(nèi)容清單
- 2025年關(guān)于意識形態(tài)工作自檢自查報告
- 觀賞鳥的營養(yǎng)需要
- 財稅托管托管合同范本
- 發(fā)現(xiàn)自己的閃光點課件
評論
0/150
提交評論