3. 实际解决方案
在新华书店发行集团的网站开发中,一方面为了避免由于数据整体传送时间过长而导致的断连,另一方面为了满足用户浏览数据的局部性要求,故将数据化整为零,采用分页技术来加快数据的传输。在访问WEB服务器时,有两个因素限制了网页的连接时间:一是数据库的查询操作,另一个是网络传输的数据量。在数据库中的查询,可以通过建立索引来解决,例如,对前面提到的书目表按十大类字段进行索引,这样,大大加快了数据库查询速度。为了减少网络传输数据量,采用分页传输的技术,例如,客户端查询出五千多条记录可以一次仅传输二十条记录,这样,加快网页的连接时间就不会因超时而中断。分页技术用onepage.asp脚本实现部分代码如下:
set Conn=Server.CreateObject ("adodb.connection") ‘连接ODBC
Conn.Open "xhsd",”sa”,”hxrjb1”
.
.‘生成sql语句
.
set Rs=Server.CreateObject ("adodb.recordset") ‘查询结果存于Rs
Rs.Open sql,Conn
set session("Rs") = Rs
首先,通过ASP的内置对象SERVER创建一CONNECTION对象conn,并将其与指定的数据库关联,通过该对象的open方法打开。接着,可根据系统的实际需求,构造满足所需数据的SQL语句,然后再通过SERVER对象创建一RecordSet对象Rs,并由Rs的方法open取得数据库记录,同时将Rs保存在Session中,以供其他页面使用。为了计算数据记录分多少页,必须先定义每页显示的记录数和记录的总数。代码中使用变量Session(“PageSize”)标志每页记录数,Session(“PageCount”)标志分页数。下面一段代码功能为显示某一页的记录,这一段代码为分页显示的核心代码。
Rs.MoveFirst
Rs.Move (page-1)*Session(“PageSize “)
for i=1 to Session(“PageSize “)
Response.Write ""
for j=0 to rs.Fields.Count-1
Response.Write "" & rs.Fields(j).Value & ""
next
Response.Write ""
Rs.MoveNext
if Rs.EOF then
exit for
end if
next
Response.Write ""
Response.Write "
代码通过对象Rs的方法Move将记录指向由page确定的那一页的第一条记录,然后用循环语句依次列出每条记录。为了定位在某一页,必须使用一参数将页码信息传给服务器,此处,使用带参数的超级链接来实现。具体代码如下:
if page<>1 then
Response.Write "第一页 "
Response.Write"上一页"
end if
if page<>Session(“PageCount”) then
Response.Write "下一页"
Response.Write "最后一页"
end if
Response.Write "
"
如果当前页是第一页,则仅显示“下一页”、“最后一页”,若当前页是最后一页,则仅显示“上一页”、“第一页”,除此之外,上述四个选项均显示。
4.结束语
文本文件onepage.asp存放于服务器上,这种方法与一次传输所有查询结果相比,优点是很明显的。程序实现了定位任一页的功能,更具有灵活性,连接时间也大大降低。因此,对于其他大容量数据库的连接查询操作,具有一定的借鉴意义。
参考文献:
(1) Piroz Mohseni著,Web数据库开发人员指南. 机械工业出版社.
(2) Leonid Braginski,Matthew Powell著,Microsoft Internet Information Server 4.0 使用大全. 人民邮电出版社.
(3) 沈文智,候勇等著,Microsoft IIS网页技术. 人民邮电出版社.
Inquire to Mass Data In World Wide Web
Abstract The enterprise designs a three tier architecture of client/server through integrating the technology of database access and www service. Then user may browse all kinds of enterprise’s information in Internet. Because of limits of bandwidth and transfers of mass data, the link of network usually breaks. This paper discusses the technologies of database access, and analyzes these technologies. By the demand of XinHua BookStore Publishing Group’s website, ASP paging technology is used to transmit mass data.
