VB5.0中数据库查询模块_第1页
VB5.0中数据库查询模块_第2页
VB5.0中数据库查询模块_第3页
VB5.0中数据库查询模块_第4页
VB5.0中数据库查询模块_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

VB5.0中数据库查询模块

摘要:查询模块是数据库管理系统中不可缺少的部分。本文介绍在环境下四种数据库查询的实现方法,并主要介绍了使用SELECT-SQL语句来实现数据库的查询功能

关键字:数据库表查询SQL

VB全称VisualBasic,是微软公司推出的基于Windows的可视化编程环境,以其简单易学、编程简洁、程序集成化高、功能强大而倍受程序员及广大电脑爱好者的青睐。它在数据库应用方面也有相当强大的功能。

查询模块是数据库管理系统中不可缺少的部分。在VB中进行数据库记录查询操作,根据打开数据库的方式来确定。大概有四种查询方法:SEEK方法查询、FILTER属性查询、Find方法查询、SQL查询。本文对前三种方法只作简单说明,着重介绍第四种SQL查询方法。

1、SEEK方法查询、FILTER属性查询、Find方法查询的简单说明。

用SEEK方法查询:

这种方法只使用于以OPENbr方式打开的数据表,而且在查询之前必须要对查询字段建立索引文件,由于已建立了索引文件,所以查询速度快,这种方式结果是将指针移到符合条件的第一个记录。例如:

SETTB=

=”NAMEINDEX”

”=”,“石脑油”

用FILTER属性查询:

FILTER属性查询是用来过滤数据的,只要我们给定过滤条件就可以将所需的记录筛选出来。需要说明的是,我们需要将以Filter属性筛选出来的数据集打开才能对其进行操作。例如:

SetDy1=

=”物资名称like‘石*’”

用Find方法查询。

Find查询有Findfirstfindnext两个方法,每次查询到一个记录。例如:

SetDy=

S=”到货数量>100and物资名称like‘石脑油’”

2、用SQL查询。

2.1、Select-SQL查询语句的格式:

SQL即结构化查询语言,是查询关系型数据库的常用语言。由于SQL语言使用方便、功能丰富、简单易学得到很快的应用和推广,是各种关系型数据库的公用语言。使用SQL查询可以从一个表或多个表或视图中对数据库进行查询。它的核心语句是Select-SQL语句。

Select-SQL查询语句的格式:

SELECT[DICTINCT/ALL]----查询目标列

FROMbrexpression----------表名/视图名

[WHERE]---------------------------条件

[GROUPBY...]--------------------将查询结果的记录分组

[HAVING...]------------------------满足条件的分组

[ORDERBY...]---------------------对查询结果进行排序

下面应用笔者完成的《供应处物资管理软件》为例,。说明使用SELECT-SQL查询语句实现查询模块具体方法。

单项查询模块的实现:

应用的数据库in_中包含表:input字段名:物资名称、供货单位、供货日期、到货数量、总金额…….等等。

定义窗体及控件:如下表

如图:单项查询模块窗体图

编写程序代码:

上述设计完成后,可以对窗体及控件的事件编写代码:

‘变量定义

Dimmy_dbAsDatabaseDimmy_drAsRecordsetDimField_val1AsStringDimField_val3AsDate

DimField_val32AsDate

DimField_val4AsInteger

DimField_val42AsInteger

DimSearch_txtAsInteger

PrivateSubForm_LoadSearch_txt==""=""=""EndSub

PrivateSubCommand1_Click‘确定按钮

SelectCaseSearch_txt

Case1‘若选择“物资名称”

Field_val1=

Setmy_db=OpenDatabase

Setmy_dr=my_

ss1="select*frominputwhere"

=ss1

Case2‘若选择“供货单位”

...

Case3‘若选择“供货日期”

Field_val3=

Field_val32=

IfVal,))>=0Then

Setmy_db=OpenDatabase

Setmy_dr=my_

ss1="select*frominputwhere供货日期between"&"#"_

&Field_val3&"#"_&"and"&"#"&Field_val32&"#"==MsgBox

EndIf

Case4‘若选择“到货数量”

Field_val4=

Field_val42=

Setmy_db=OpenDatabase

Setmy_dr=my_

ss1="select*frominputwhere到货数量between"&Field_val4_

&"and"&Field_val42

=ss1

Case5

...

EndSelect

EndSub

PrivateSubCommand2_Click‘取消查询

=""

=""

EndSub

PrivateSubCommand3_Click‘结束查询

UnloadMe

EndSub

PrivateSubOption1_Click‘选定“物资名称”字段

Search_txt=1

=""

=""

=False‘text2设为无效

=False‘text2设为不显示

EndSub

PrivateSubOption2_Click‘选定“供货单位”字段

EndSub

PrivateSubOption3_Click‘选定“供货日期”字段Search_txt==""=Date‘起始日期=Date‘终止日期

="至"

=True

=True

EndSub

PrivateSubOption4_Click‘选定“到货数量”字段

Search_txt=4

=""

=""

=Format‘设置字段格式为数值型

=Format‘设置字段格式为数值型

="至"

=True

=True

EndSub

PrivateSubOption5_Click‘选定“总金额”字段

EndSub

PrivateSubText1_LostFocus

‘判断如果选定的是“供货日期”字段,text1的输入值必须是日期型的IfSearch_txt=3Then

IfNotIsDateThen

z=MsgBox

EndIf

EndIf

EndSub

PrivateSubText2_LostFocus

‘判断如果选定的是“供货日期”字段,text2的输入值必须是日期型的

IfSearch_txt=3Then

=Format

IfNotIsDateThen

z=MsgBox

EndIf

EndIf

EndSub

2.3多项复合查查询模块的实现:

应用的数据库in_中包含表:input字段名:物资名称、供货单位、供货日期、到货数量、总金额…….等等。

定义窗体及控件:如下表如图多项查询模块窗体图

编写程序代码:

上述设计完成后,可以对窗体及控件的事件编写代码:

下面程序可实现“物资名称”为某值,供货日期在一定范围的采购明细的查询。

‘定义变量

Dimmy_dbAsDatabaseDimmy_drAsRecordsetDimcom_txtAsStringDimtxt1AsDateDimtxt2AsDatePrivateSubCommand1_Click

‘判断如果输入值不是日期型的,是无效值IfNotIsDateThenz=MsgBox

Else

IfNotIsDateThen

z=MsgBox

Else

IfVal,))>=0Then

''''''''''''*****设置条件*********

com_txt=

txt1=

txt2=

Setmy_db=OpenDatabase

Setmy_dr=my_

ww1="select*frominputwhere)"

=ww1

Else

zz=MsgBox

EndIf

EndIf

EndIf

EndSub

PrivateSubForm_Load

‘将项目“石脑油”、轻烃、纯苯………添加到combo1控件中

"石脑油"

"轻烃"

"纯苯"

"丙烯腈"

"甲基丙烯酸甲脂"

"聚丁二烯乳胶"

"C2"

"C3/C4"

"C5"

"盐酸"

"液碱"

="石脑油"‘设置comb

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论