在打开了数据库之后(尽管屏幕上什么也没有),我们可以进行第三步了。我们可以想一想,在打开了一个数据库之后,我们想要干什么呢?最简单的,当然是从中读取我们所要的数据。ASP访问数据库的方法是采用记录集来作为数据的容器。比如说我们执行了一条ASP查询语名,其必然将返回查询结果,如果此查询成功的话,其返回的查询结果必然包含了符合我们查询条件所有记录。在此,我们将此查询结果赋予一个变量,这个变量包含了我们查询语句返回的符合我们条件的也就是我们想要的记录(数据),我们就把这个变量叫做记录集。这个名称是很形象的。然后我们再读取这个变量,将一条条记录依次读取出来。至于如何读取记录集中的记录,我们以后再讨论。下面,我们写出这个记录集语句:
set objrs=objconn.execute("select name from mytab order by name")
其中objrs就是我们刚才所提的那个变量,也就是记录集。objconn.execute的意义是通过objconn这个连接来执行一个数据库查询语句(“”)内的便是一个非常常见的SQL查询语名,它的意义是从mytab表中选择name这一列并以name这一列的数据为索引来排序。(请大家找一些SQL的资料,对其不要研究得太深,只要知道一些基本的数据库操作命令即可。如果没有,可以找我要。)之后,这个命令自然返回了name这一列的所有记录了,而这些记录,已经全部赋给了objrs这个变量。经过了这个语句,objrs的身份已经从一个普通变量变成了一个包含有我们所要的数据的一个“黄金”变量。当然,这只不过是我们的一种理解。实际上objrs此时已经是一个对象,它已经具备了许多的方法和属性。下面,我们便利用它的一此方法和属性来读取记录集中的记录。
在进行之前,我们有必要粗略地了解一下数据集在objrs中的存储方式。如果我们刚才的命令是:
select name,id from mytab order by name
则返回的数据包括两列,包括name和id这两列。那么如何从objrs中读取指定列中记录呢?可用下列语句:
objrs("列名")
如果要读取我们上面命令中返回的name这一列,我们可以使用:objrs("name")。
下面,就让我们完整地把记录读出来吧!
while not objrs.eof response.write objrs("name") objrs.movenext wend
以上程序使用了objrs的eof属性和movenext方法。有过纺程经验的人对eof这个属性肯定非常熟悉,没错,它就是用来判断这个记录集的指针是否已到了记录集的末尾。

|