热门关键字:  概率论论文  儿童  计量  城市规划 建筑  民事诉讼

在VB5数据库中的查询

论文来源: 论文作者: 时间:2008-09-10 字体:[ ]

摘要:查询模块是数据库管理系统中不可缺少的部分。本文介绍在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定义窗体及控件:如下表

主要控件及名称 属性 设置 说明
   Frame(frame1) caption 字段选择
   Optionbutton(Option1) caption 物资名称
字段选择 Optionbutton(Option2) caption 供货单位
   Optionbutton(Option3) caption 供货日期
   Optionbutton(Option4) caption 到货数量
   Optionbutton(Option5) caption 总金额
Textbox(text1) Text 为空 查询值
Textbox(text2) Text 为空   
Commandbutton(command1) caption 确定 确定本次查询
Commandbutton(command2) caption 取消 取消本次查询
Commandbutton(command3) caption 结束 结束查询
   Data(data1) Caption 数据浏览
databasename       d:\zu_vb\in_db.mdb
Dbgrid(dbgrid1) datasource Data1 查询结果显示

如图(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, "严重警告,输入无效!")
在VB5数据库中的查询由800论文网收集整理,转载请注明出处!

baidu
互联网 www.800lw.com
Tag:
[收藏] [推荐] [评论] [打印] [关闭]
800免费论文网-中国最大最全的免费论文下载网站
推荐论文