<button id="6ymue"><menu id="6ymue"></menu></button>
    • <s id="6ymue"></s>
    • 美章網(wǎng) 資料文庫 VB5.0中數(shù)據(jù)庫查詢模塊范文

      VB5.0中數(shù)據(jù)庫查詢模塊范文

      本站小編為你精心準備了VB5.0中數(shù)據(jù)庫查詢模塊參考范文,愿這些范文能點燃您思維的火花,激發(fā)您的寫作靈感。歡迎深入閱讀并收藏。

      摘要:查詢模塊是數(shù)據(jù)庫管理系統(tǒng)中不可缺少的部分。本文介紹在vb5.0環(huán)境下四種數(shù)據(jù)庫查詢的實現(xiàn)方法,并主要介紹了使用SELECT-SQL語句來實現(xiàn)數(shù)據(jù)庫的查詢功能

      關(guān)鍵字:VB5.0數(shù)據(jù)庫表查詢SQL

      VB全稱VisualBasic,是微軟公司推出的基于Windows的可視化編程環(huán)境,以其簡單易學、編程簡潔、程序集成化高、功能強大而倍受程序員及廣大電腦愛好者的青睞。它在數(shù)據(jù)庫應(yīng)用方面也有相當強大的功能。

      查詢模塊是數(shù)據(jù)庫管理系統(tǒng)中不可缺少的部分。在VB中進行數(shù)據(jù)庫記錄查詢操作,根據(jù)打開數(shù)據(jù)庫的方式來確定。大概有四種查詢方法:SEEK方法查詢、FILTER屬性查詢、Find方法查詢、SQL查詢。本文對前三種方法只作簡單說明,著重介紹第四種SQL查詢方法。

      1、SEEK方法查詢、FILTER屬性查詢、Find方法查詢的簡單說明。

      用SEEK方法查詢:

      這種方法只使用于以O(shè)PENbr方式打開的數(shù)據(jù)表,而且在查詢之前必須要對查詢字段建立索引文件,由于已建立了索引文件,所以查詢速度快,這種方式結(jié)果是將指針移到符合條件的第一個記錄。例如:

      SETTB=DB.OPENbr(“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.FindfirstS

      Dy.FindnextS

      2、用SQL查詢。

      2.1、Select-SQL查詢語句的格式:

      SQL(STRUCTUREQUERYLANGUAGE)即結(jié)構(gòu)化查詢語言,是查詢關(guān)系型數(shù)據(jù)庫的常用語言。由于SQL語言使用方便、功能豐富、簡單易學得到很快的應(yīng)用和推廣,是各種關(guān)系型數(shù)據(jù)庫的公用語言。使用SQL查詢可以從一個表或多個表或視圖中對數(shù)據(jù)庫進行查詢(有關(guān)SQL的更多信息,請參閱相關(guān)書籍,本文不多介紹)。它的核心語句是Select-SQL語句。

      Select-SQL查詢語句的格式:

      SELECT[DICTINCT/ALL]----查詢目標列

      FROMbrexpression----------表名/視圖名

      [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_val3AsDate

      DimField_val32AsDate

      DimField_val4AsInteger

      DimField_val42AsInteger

      DimSearch_txtAsInteger

      PrivateSubForm_Load()Search_txt=1Text1.Text=""Text2.Text=""Label2.Caption=""EndSub

      PrivateSubCommand1_Click()‘確定按鈕

      SelectCaseSearch_txt

      Case1‘若選擇“物資名稱”

      Field_val1=Text1.Text

      Setmy_db=OpenDatabase("d:\zu_vb\in_db.mdb")

      Setmy_dr=my_db.OpenRecordset("input")

      ss1="select*frominputwhere(物資名稱="&"''''"&Field_val1&"'''')"

      Data1.RecordSource=ss1

      Data1.Refresh

      Case2‘若選擇“供貨單位”

      ...

      Case3‘若選擇“供貨日期”

      Field_val3=Text1.Text

      Field_val32=Text2.Text

      IfVal(DateDiff("d",(Text1.Text),(Text2.Text)))>=0Then

      Setmy_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,"嚴重警告,輸入無效!")

      EndIf

      Case4‘若選擇“到貨數(shù)量”

      Field_val4=Text1.Text

      Field_val42=Text2.Text

      Setmy_db=OpenDatabase("d:\zu_vb\in_db.mdb")

      Setmy_dr=my_db.OpenRecordset("input")

      ss1="select*frominputwhere到貨數(shù)量between"&Field_val4_

      &"and"&Field_val42

      Data1.RecordSource=ss1

      Data1.Refresh

      Case5

      ...

      EndSelect

      EndSub

      PrivateSubCommand2_Click()‘取消查詢

      Text1.Text=""

      Text2.Text=""

      EndSub

      PrivateSubCommand3_Click()‘結(jié)束查詢

      UnloadMe

      EndSub

      PrivateSubOption1_Click()‘選定“物資名稱”字段

      Search_txt=1

      Text1.Text=""

      Label2.Caption=""

      Text2.Enabled=False‘text2設(shè)為無效

      Text2.Visible=False‘text2設(shè)為不顯示

      Text1.SetFocus

      EndSub

      PrivateSubOption2_Click()‘選定“供貨單位”字段

      (略)

      EndSub

      PrivateSubOption3_Click()‘選定“供貨日期”字段Search_txt=3Text1.Text=""Text1.Text=Date‘起始日期Text2.Text=Date‘終止日期

      Label2.Caption="至"

      Text2.Enabled=True

      Text2.Visible=True

      Text1.SetFocus

      EndSub

      PrivateSubOption4_Click()‘選定“到貨數(shù)量”字段

      Search_txt=4

      Text1.Text=""

      Text2.Text=""

      Text1.Text=Format(Text1.Text,"###,###,##0.00")‘設(shè)置字段格式為數(shù)值型

      Text2.Text=Format(Text2.Text,"###,###,##0.00")‘設(shè)置字段格式為數(shù)值型

      Label2.Caption="至"

      Text2.Enabled=True

      Text2.Visible=True

      Text1.SetFocus

      EndSub

      PrivateSubOption5_Click()‘選定“總金額”字段

      (略)

      EndSub

      PrivateSubText1_LostFocus()

      ‘判斷如果選定的是“供貨日期”字段,text1的輸入值必須是日期型的IfSearch_txt=3Then

      IfNotIsDate(Text1.Text)Then

      z=MsgBox("非法日期!請重新輸入!",vbCritical,"嚴重警告,輸入無效!")

      Text1.SetFocus

      EndIf

      EndIf

      EndSub

      PrivateSubText2_LostFocus()

      ‘判斷如果選定的是“供貨日期”字段,text2的輸入值必須是日期型的

      IfSearch_txt=3Then

      Text2.Text=Format(Text2.Text,"yyyy-mm-dd")

      IfNotIsDate(Text2.Text)Then

      z=MsgBox("非法日期!請重新輸入!",vbCritical,"嚴重警告,輸入無效!")

      Text2.SetFocus

      EndIf

      EndIf

      EndSub

      2.3多項復合查查詢模塊的實現(xiàn):

      2.3.1應(yīng)用的數(shù)據(jù)庫in_db.mdb中包含表:input字段名:物資名稱、供貨單位、供貨日期、到貨數(shù)量、總金額…….等等。

      2.3.2定義窗體及控件:如下表如圖(2)多項查詢模塊窗體圖

      2.3.3編寫程序代碼:

      上述設(shè)計完成后,可以對窗體及控件的事件編寫代碼:

      下面程序可實現(xiàn)“物資名稱”為某值,供貨日期在一定范圍的采購明細的查詢。

      ‘定義變量

      Dimmy_dbAsDatabaseDimmy_drAsRecordsetDimcom_txtAsStringDimtxt1AsDateDimtxt2AsDatePrivateSubCommand1_Click()

      ‘判斷如果輸入值不是日期型的,是無效值IfNotIsDate(Text1.Text)Thenz=MsgBox("非法起始日期,請重新輸入!",vbCritical,"嚴重警告,輸入無效!")

      Text1.SetFocus

      Else

      IfNotIsDate(Text2.Text)Then

      z=MsgBox("非法終止日期,請重新輸入!",vbCritical,"嚴重警告,輸入無效!")

      Text2.SetFocus

      Else

      IfVal(DateDiff("d",(Text1.Text),(Text2.Text)))>=0Then

      ''''''''''''*****設(shè)置條件*********

      com_txt=bo1.Text

      txt1=Form5.Text1.Text

      txt2=Form5.Text2.Text

      Setmy_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=ww1

      Data1.Refresh

      Else

      zz=MsgBox("您輸入的起始日期比終止日期大,請重新輸入!",vbCritical,"嚴重警告,輸入無效!")

      EndIf

      EndIf

      EndIf

      EndSub

      PrivateSubForm_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=Date‘設(shè)置text1text2為日期形式,執(zhí)行時并顯示當前日期。

      Text2.Text=Date

      EndSub

      3、結(jié)束語:

      本文對VB數(shù)據(jù)庫查詢功能做了簡單的說明,特別對Select-SQL語句進行了詳細的介紹,為了節(jié)省篇幅,以上只給出了窗體控件的屬性和代碼的核心部分,并去掉了許多修飾性的內(nèi)容,感興趣的讀者在此基礎(chǔ)上稍加擴充或修改,便可得到更完善的通用查詢模塊。(以上程序均在WINDOWS98環(huán)境下VB5.0中運行通過。)

      主站蜘蛛池模板: 啊公交车坐最后一排被c视频| 特黄特色大片免费播放| 日本高清二区视频久二区| 动漫裸男露ji无遮挡网站| 4虎永免费最新永久免费地址| 日韩av片无码一区二区不卡电影 | 久久91精品综合国产首页| 免费v片在线观看无遮挡| 国产精品久久久久网站| 好男人在线社区www在线视频一| 日本www视频| 日韩不卡中文字幕| 日韩激情无码免费毛片| 欧美日韩精品一区二区三区不卡| 青青草原国产视频| 三级黄色小视频| 久久99青青精品免费观看| 国产一级淫片a| 久久久久女教师免费一区| 黄色永久免费网站| 女同恋のレズビアンbd在线| 久草免费资源站| 理论片yy4408在线观看| 国产剧果冻传媒星空在线| 99久久99久久免费精品小说| 日产精品久久久久久久| 亚洲日本一区二区三区在线不卡| 色妺妺在线视频| 国产精品2018| japmassage日本按摩| 日本无卡码免费一区二区三区| 亚洲精品国产精品乱码不99| 色一乱一伦一区一直爽| 国产精品久久久久久搜索| 午夜a级理论片在线播放| wwwjizzjizz| 日本精品啪啪一区二区三区| 国产精品亚洲精品日韩电影| 中文国产成人精品久久不卡| 最近免费中文字幕大全免费版视频| 人妻无码久久久久久久久久久|