第1个回答 2020-01-09
在VB中进行数据库记录的查询操作,必需根据打开数据库的方式来确定。以VB3.0为例,数据集对象有Table、Dynaset、Snapshot三种,下面四种查询方法分别适用于以上面不同的对象方式打开的数据库。
1.用SEEK方法查询。这种方法只使用于以Opentable方式打开的Table类型的数据表,而且在查询之前必须要以查询字段建立索引文件,由于已建立了索引文件,所以查询速度很快,这种方式的查询结果是将指针移到符合条件的第一个记录。例如:
set
tb=db.opentable("demo")
tb.index="nameindex”
tb.seek
"=","张三"
2.用FILTER属性查询。Filter属性是Dynaset和Snapshot对象才具备的,所以也只能适用于这两者,不能用于Table。Filter是用来过滤数据的,只要我们给定过滤条件就可以将所需的记录筛选出来。需要说明的是,我们需要将以Filter属性筛选出来的数据集打开才能对其操作。例如:
set
dy1=db.createDynaset(”demo”)
dy1.filter=”姓名
like
’刘*’”
set
dy2=dy1.createDynaset()
3.用FIND方法查询。FIND适用于Dynaset和Snapshot对象,有Findfirst和Findnext两个方法,每次查询到一个记录。例如:
set
dy=db.createDynaset(”demo”:)
s=”工资>160
and姓名
like
’刘*’”
dy.findfirst
s
dy.findnext
s
4.用SQL查询。SQL是一种结构化数据查询语言,SQL也只能适用Dynaset和Snapshot数据集对象,这种方法是根据SQL条件生成一个数据集对象。例如:
s=”select
*
from
demo
where
姓名
like
’刘*’”
set
dy=db.createDynaset(s)
〖注〗:本文中的db为数据库对象,打开方式为:
例如:set
db=OpenDatabase(”C:\VB\SAMPLE.MDB”)。