中文字幕在线一区二区在线,久久久精品免费观看国产,无码日日模日日碰夜夜爽,天堂av在线最新版在线,日韩美精品无码一本二本三本,麻豆精品三级国产国语,精品无码AⅤ片,国产区在线观看视频

      VB5.0中數據庫查詢模塊的實現

      時間:2024-09-20 23:56:13 計算機畢業論文 我要投稿
      • 相關推薦

      VB5.0中數據庫查詢模塊的實現

      摘要:查詢模塊是數據庫管理系統中不可缺少的部分。本文介紹在VB5.0環境下四種數據庫查詢的實現方法,并主要介紹了使用SELECT-SQL語句來實現數據庫的查詢功能

      關鍵字:VB5.0 數據庫 表 查詢 SQL

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

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

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

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

      SET TB=DB.OPENTABLE(“INPUT”)

      TB.INDEX=”NAMEINDEX”

      TB.SEEK ”=”, “石腦油”

      用FILTER 屬性查詢:
      FILTER屬性查詢是用來過濾數據的,只要我們給定過濾條件就可以將所需的記錄篩選出來。需要說明的是,我們需要將以Filter屬性篩選出來的數據集打開才能對其進行操作。例如:

      Set Dy1=db.CreateDynaset (“input”)

      Dy1.Filter=”物資名稱 like ‘石*’”

      Set Dy2.Dy1.CreateDynaset ()

      用Find 方法查詢。
      Find查詢有Findfirst findnext 兩個方法,每次查詢到一個記錄。例如:

      Set Dy=db.CreateDynaset (“input”)

      S=”到貨數量>100 and 物資名稱like ‘石腦油’”

      Dy.Findfirst S

      Dy.Findnext S

      2、用SQL查詢。

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

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

      Select-SQL查詢語句的格式:



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

      FROM tableexpression ----------表名/視圖名

      [WHERE]---------------------------條件

      [GROUP BY... ]--------------------將查詢結果的記錄分組

      [HAVING... ]------------------------滿足條件的分組

      [ORDER BY... ]---------------------對查詢結果進行排序

      下面應用筆者完成的《供應處物資管理軟件》為例,。說明使用SELECT-SQL查詢語句實現查詢模塊具體方法。

      2.2單項查詢模塊的實現:

      2.2.1應用的數據庫in_db.mdb中包含表:input 字段名:物資名稱、供貨單位、供貨日期、到貨數量、總金額…….等等 。

      2.2.2定義窗體及控件:如下表

      如圖(1):單項查詢模塊窗體圖

      2.2.3編寫程序代碼:

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

      ‘變量定義

      Dim my_db As Database Dim my_dr As Recordset Dim Field_val1 As String Dim Field_val3 As Date

      Dim Field_val32 As Date

      Dim Field_val4 As Integer

      Dim Field_val42 As Integer

      Dim Search_txt As Integer

      Private Sub Form_Load() Search_txt = 1 Text1.Text = "" Text2.Text = ""Label2.Caption = ""End Sub

      Private Sub Command1_Click() ‘確定按鈕

      Select Case Search_txt

      Case 1 ‘若選擇“物資名稱”

      Field_val1 = Text1.Text

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


      Set my_dr = my_db.OpenRecordset("input")

      ss1 = "select * from input where (物資名稱=" & "'" & Field_val1 & "')"

      Data1.RecordSource = ss1

      Data1.Refresh

      Case 2 ‘若選擇“供貨單位”

      . . .

      Case 3 ‘若選擇“供貨日期”

      Field_val3 = Text1.Text

      Field_val32 = Text2.Text

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

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

      Set my_dr = my_db.OpenRecordset("input")

      ss1 = "select * from input where 供貨日期 between " & "#" _

      & Field_val3 & "#" _ & " and " & "#" & Field_val32 & "#" Data1.RecordSource = ss1 Data1.Refresh Else zz = MsgBox("您輸入的起始日期比終止日期大,請重新輸入!", vbCritical, "嚴重警告,輸入無效!")

      End If

      Case 4 ‘若選擇“到貨數量”

      Field_val4 = Text1.Text

      Field_val42 = Text2.Text

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

      Set my_dr = my_db.OpenRecordset("input")

      ss1 = "select * from input where 到貨數量 between " & Field_val4 _

      & " and " & Field_val42

      Data1.RecordSource = ss1

      Data1.Refresh

      Case 5

      . . .

      End Select

      End Sub

      Private Sub Command2_Click() ‘取消查詢

      Text1.Text = ""

      Text2.Text = ""

      End Sub

      Private Sub Command3_Click() ‘ 結束查詢

      Unload Me

      End Sub

      Private Sub Option1_Click() ‘選定“物資名稱”字段

      Search_txt = 1

      Text1.Text = ""

      Label2.Caption = ""

      Text2.Enabled = False ‘text2 設為無效

      Text2.Visible = False ‘text2 設為不顯示

      Text1.SetFocus



      End Sub

      Private Sub Option2_Click() ‘選定“供貨單位”字段

      (略)

      End Sub

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

      Label2.Caption = "至"

      Text2.Enabled = True

      Text2.Visible = True

      Text1.SetFocus

      End Sub

      Private Sub Option4_Click() ‘選定“到貨數量”字段

      Search_txt = 4

      Text1.Text = ""

      Text2.Text = ""

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

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

      Label2.Caption = "至"

      Text2.Enabled = True

      Text2.Visible = True

      Text1.SetFocus

      End Sub

      Private Sub Option5_Click() ‘選定“總金額”字段

      (略)

      End Sub

      Private Sub Text1_LostFocus()

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

      If Not IsDate(Text1.Text) Then

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

      Text1.SetFocus

      End If

      End If

      End Sub

      Private Sub Text2_LostFocus()

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

      If Search_txt = 3 Then

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

      If Not IsDate(Text2.Text) Then

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

      Text2.SetFocus

      End If

      End If

      End Sub
       


      2.3多項復合查查詢模塊的實現:

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

      2.3.2定義窗體及控件:如下表

      如圖(2)多項查詢模塊窗體圖

      2.3.3編寫程序代碼:

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

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

      ‘定義變量

      Dim my_db As Database Dim my_dr As Recordset Dim com_txt As String Dim txt1 As Date Dim txt2 As Date Private Sub Command1_Click()

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

      Text1.SetFocus

      Else

      If Not IsDate(Text2.Text) Then

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

      Text2.SetFocus

      Else

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

      '''*****設置條件*********

      com_txt = Form5.Combo1.Text

      txt1 = Form5.Text1.Text

      txt2 = Form5.Text2.Text

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

      Set my_dr = my_db.OpenRecordset("input")

      ww1 = "select * from input where (物資名稱=" & "'" & com_txt & "'" _

      … & " and (供貨日期 between " & "#" & txt1 & "#" _

      & " and " & "#" & txt2 & "#))"

      Data1.RecordSource = ww1

      Data1.Refresh

      Else



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

      End If

      End If

      End If

      End Sub

      Private Sub Form_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 = "石腦油" ‘設置 combo1的初始值

      Text1.Text = Date ‘設置text1 text2 為日期形式,執行時并顯示當前日期。

      Text2.Text = Date

      End Sub

      3、結束語:

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

      【VB5.0中數據庫查詢模塊的實現】相關文章:

      數據庫管理系統中的模糊查詢技術03-03

      應用LabSQL實現LabVIEW中數據庫的訪問03-07

      基于FPGA的HDLC通信模塊的實現05-14

      淺析數據庫管理系統中模糊查詢技術的正確使用03-04

      高校信息查詢系統的設計與實現03-28

      用CPLD實現單片機讀寫模塊03-20

      ERP中的物流模塊研究12-04

      實現基于網頁的數據庫數據導入03-18

      基于DSP的擴頻電臺基帶模塊的設計與實現03-18

      主站蜘蛛池模板: 敖汉旗| 久久亚洲av午夜福利精品| 国产高清精品在线二区| 晋城| 国产精品99久久免费观看| 偷拍视频网站一区二区| 亚洲精品AⅤ无码精品丝袜无码 | 91久久综合精品国产丝袜长腿 | 国产精品玖玖资源站大全| 四虎无码精品a∨在线观看| 国产一区二区a毛片色欲| 日本特黄a级高清免费大片| 青青草视频在线观看视频网站| 国产丝袜高跟美腿一区在线| av一区二区精品在线| 亚洲无码美韩综合| 国产在视频线精品视频二代| 国产伦码精品一区二区| 青青草综合影院在线观看| 保定市| 马龙县| 工布江达县| 日韩精品一区二区av在线| 2021亚洲色中文字幕| 国产欧美激情一区二区三区 | 天镇县| 大洼县| 国产女人体一区二区三区| 泰安市| 汪清县| 亚洲区福利视频免费看| 莱阳市| 国产精品无码不卡在线播放| 阿荣旗| 国产极品视觉盛宴在线观看| 久久黄色蜜桃av一区| 在线视频一区二区亚洲| 久久国产亚洲一区二区三区| 国产精品国三级国产av| 精品一区二区三区不卡少妇av| 国产美女高潮流白浆免费观看|